Jenkins从Workspace中删除文件

use*_*474 3 jobs copy file jenkins

我有jenkin的工作,从linux用户文件夹复制tar文件,然后从另一个工作复制二进制文件(编译)并创建新的tar文件.然后jenkins用户可以从jenkin的工作区复制新的tar文件.它不构建任何东西或从SCM获取文件.然后过了一会儿,突然tar文件已从工作区删除,我必须再次运行作业.我怎么能阻止这个?

Chr*_*Orr 9

在作业完成后,你真的不应该依赖你的工作空间,因为工作区可以被另一个构建开始覆盖,或者有人删除构建,奴隶离线等等......

由于您要保存文件以供以后使用,因此应在作业的构建后配置中使用"归档工件"选项.**/*.tar例如,如果输入,Jenkins会在构建结束时保存所有TAR文件.

然后你可以使用Jenkins的永久链接来访问工件,例如:
http://JENKINS/job/JOB_NAME/lastSuccessfulBuild/artifact/bin/my-app.tar

如URL所示,这将为您提供上次成功构建的文件.


作为旁注,如果您希望将归档文件复制到另一个版本,最好的方法是使用Copy Artifact插件.

这样Jenkins就可以为你处理文件复制,即使是在多个Jenkins从属服务器上也是如此,你不必做任何令人讨厌的事情,比如硬编码到其他Jenkins工作区的路径.