Jenkins中不同slave间传递文件

版权声明:本文为Doctorq原创文章,未经博主允许不得转载。 https://blog.csdn.net/qhshiniba/article/details/45059365

场景:我们jenkins上有多个slave,有时候我们想获得其他slave的某一个job构建的成果物,在我们机器上另一个job使用。就比如在A slave中进行ios源码的编译打包成ipa文件,而在B slave中另一个job中得到该ipa包安装到手机中,如果做到?

A slave job配置

在该job中config中配置Post-build Actions模块,添加一个archive the artifacts:

这里写图片描述

在File the artifacts后面输入你想要存档的文件,比如我的workspace中有如下文件:

这里写图片描述

我想把install.sh存档,在File the artifacts后输入如下信息:

这里写图片描述

执行构建后,会发现该文件已经存档了。

这里写图片描述

抛个砖

上面的操作只是在A slave job机器上保存了我们想要的文件,如何在另一个job中使用了?

B slave job配置

在B slave 上某一个job配置面板中,在Build模块选择copy artifacts from another project(需要配置Copy Artifact Plugin插件),配置如下信息:

这里写图片描述

Project name:文档来源项目
Which build:哪一次构建(我选择的是最新一次成功的构建)
stable build only:只在构建成功的时候获取
Artifacts to copy:文档名称,传递的文件名称
Artifacts not to copy:不需要传递的文件,过滤作用
Target directory:copy到本机的存放目录

执行构建后,打开工作目录,会发现当前工作目录下多了一个文件:

这里写图片描述

Done!

没有更多推荐了,返回首页