jenkins – 检索由远程触发器创建的工件

我们在构建过程中依赖的某些软件(Redgate SQL Packager)存在问题,特别是我们拥有在一台机器上运行它的许可证(运行FinalBuilder的旧构建机器),公司不再销售它允许我们在新的构建机器上运行它(运行Jenkins).

为了解决这个问题,我们在旧机器上安装了第二台Jenkins服务器,它将在旧的构建机器上运行SQL Packager,并将输出(单个.exe)作为工件发布.目的是使用参数化远程触发器插件从主构建中触发此操作,然后将工件复制回主Jenkins服务器以进行发布.

但是,我遇到的问题是,检索这个工件比我预期的要困难得多.我原本希望使用Copy Artifact插件,但这似乎只是想使用本地构建项目.我也看不到插件列表中的任何明显内容.

>我是以错误的方式来做这件事的吗?有没有更简单的方法来解决这个问题(运行一个必须在特定机器上运行的构建步骤)
>我是否以正确的方式使用文物?
>我担心有竞争条件的可能性 – 我理想地想知道我的远程构建的构建参考,所以我可以肯定我得到了正确的工件,但插件似乎限制我’最近的’对于并发构建肯定是危险的?
>如果其他一切都很好 – 如何从远程构建机器中检索此文件?

最佳答案 而不是使用单独的Jenkins服务器,从Jenkins主服务器连接到旧计算机作为构建从服务器,有关各种连接选项,请参阅
Distributed Builds.在Jenkins中定义SQL Packager构建,以便它绑定在旧机器上的构建从站上运行.一旦构建由单个主控制器控制,您就可以使用
Copy Artifact plugin.

关于“竞争条件”问题,Copy Artifact插件允许您从几个选项中进行选择,以选择要从中复制工件的构建 – 您可以选择最新的成功构建,标记为“永远保留”的最后一个构建,特定构建,和别的.有许多方法可以设置作业以便您选择已知的良好构建,您可能会发现Promoted Builds plugin很有用.

点赞