rsync 替代 Jenkins Copy Artifacts 插件?

STW*_*STW 5 jenkins jenkins-plugins

我正在处理与我们的在线图像(例如 wordpress 内容)相关的一组构建。总的来说,这是一个很大的工作流程,所以它分为几个工作。

一些作业需要从其他作业中复制大量工件;我一直在使用 Copy Artifacts 插件,但对我来说它太慢了,rsync 会更适合。

是否可以有效地获取上游构建的源工件目录,以便我可以将其传递给 rsync 以代替使用 Copy Artifacts 插件?我想要一个简单的脚本,如:

rsync -a --delete $UPSTREAM_ARTIFACT_DIR $WORKSPACE

小智 1

上游工件可通过看似定义良好的 URL 进行访问。例如,以下 URL 使人们能够访问最后一个良好构建的工件:

http://jenkins/job/job_name/lastSuccessfulBuild/artifact/
Run Code Online (Sandbox Code Playgroud)

如果需要,甚至可以在多配置项目上指定轴:

http://jenkins/job/job_name/label=foo,arch=x86/lastSuccessfulBuild/artifact/
Run Code Online (Sandbox Code Playgroud)