我们在构建过程中依赖的某些软件(Redgate SQL Packager)存在问题,特别是我们拥有在一台机器上运行它的许可证(我们的旧构建机器运行FinalBuilder)而且公司没有&#39 ;再卖掉它,让我们也可以在新的构建机器上运行它(运行Jenkins)。
为了解决这个问题,我们在旧机器上安装了第二台Jenkins服务器,它将在旧的构建机器上运行SQL Packager,并将输出(单个.exe)作为工件发布。目的是使用参数化远程触发器插件从主构建中触发此操作,然后将工件复制回主Jenkins服务器以进行发布。
但是,我遇到的问题是,检索这个工件比我预期的要困难得多。我原本希望使用Copy Artifact插件,但这似乎只是想使用本地构建项目。我也无法在插件列表中看到任何明显的内容。答案 0 :(得分:2)
不是使用单独的Jenkins服务器,而是从Jenkins主服务器连接到旧计算机作为构建从服务器,请参阅Distributed Builds了解各种连接选项。在Jenkins中定义SQL Packager构建,以便它绑定在旧机器上的构建从站上运行。一旦构建由单个主控制器控制,您就可以使用Copy Artifact plugin。
关于“竞争条件”问题,Copy Artifact插件允许您从几个选项中进行选择,以选择从中复制工件的构建 - 您可以选择最新的成功构建,标记为“永远保留”的最后一个构建,特别构建,以及其他。有许多方法可以设置作业以便您选择已知的良好构建,您可能会发现Promoted Builds plugin很有用。