我有jenkin的工作,它从linux用户文件夹复制tar文件,然后从另一个工作复制二进制文件(编译)并创建新的tar文件。然后jenkins用户可以从jenkin的工作区复制新的tar文件。 它没有构建任何东西或从SCM获取文件。然后过了一会儿,突然tar文件已从工作区中删除,我必须再次运行作业。我怎么能阻止它?
答案 0 :(得分:9)
在作业完成后你真的不应该依赖你的工作空间,因为工作空间可以被另一个构建开始覆盖,或者有人删除构建,被奴隶脱机等等......
由于您要保存文件以供以后使用,因此您应该在作业的构建后配置中使用“归档工件”选项。例如,如果输入**/*.tar
,Jenkins将在构建结束时保存所有TAR文件。
然后你可以使用Jenkins的永久链接访问工件,例如:
http://JENKINS/job/JOB_NAME/lastSuccessfulBuild/artifact/bin/my-app.tar
如网址所示,这将为您提供上次成功版本的文件。
作为旁注,如果您希望将存档文件复制到另一个版本,最好的方法是使用Copy Artifact plugin。
这样Jenkins就可以为你处理文件复制,即使是在多个Jenkins从属服务器上也是如此,你不需要做任何令人讨厌的事情,比如硬编码到其他Jenkins工作区的路径。