在詹金斯,如何从另一台服务器复制工件?

in jenkins, how to copy artifacts from another server?

我有另一个项目需要从中复制工件。

但是我遇到的问题是它来自另一台服务器。有没有办法用复制工件来做到这一点,或者我必须通过代码?

您可以通过发布工件并使用文件传输或安全 shell 来完成。

这里是要阅读的信息:

Jenkins Secure Shell Plugin

Jenkins FTP Plugin

唯一的另一种可能是修改 ant 或 maven 项目配置文件。

这里有一个 More Reference 同样的思路。

最后我用wget抓取了文件,路径是固定的

这个 link 可以帮助不使用 wget 的人。

Using wget to recursively fetch a directory with arbitrary files in it

很长一段时间我都使用 this python 脚本从 Jenkins 下载工件。它利用了可用于任何 Jenkins 作业的 JSON API 层。 API 调用的格式是:

http://_YOUR_BUILD_HOST_/job/_JOBNAME_/lastSuccessfulBuild/api/json

注意脚本依赖于 PyCurl

通过 ssh 插件发布也可用于将 files/artifacts 从一台服务器 (local/linux) 复制到另一台服务器。它也有重试选项,以防出现网络问题而没有。退休和超时也可以配置。