Artifactory 上传后触发 Jenkins Job
Trigger Jenkins Job after Artifactory Upload
我有两个 Jenkins 作业。
作业 1:将构建上传到 artifactory
工作 2:从 artifactory 下载构建并用它做一些事情
现在,作业 1 使用参数化构建插件触发作业 2(作业 2 在我公司的许多团队之间共享,所以我不想对其进行太多更改 - 这是一个参数化的作业,需要一个人工制品URL)
问题是,工件似乎并不总是在触发作业 2 之前完成上传到工件。有时作业 2 在尝试下载工件时会收到 404。有什么方法可以 1) 在工件上传之前阻止触发作业 2?或 2) 将工件直接从 Job 1 传递到 Job 2 w/out 需要上传和下载? (前者更可取,因为选项 2 需要更改作业 2)
关于您的选项 1,如果失败,您可以使用 Naginator 插件重新安排作业 2。
关于选项2,可以使用Copy Artifact插件。它将允许作业 2 从作业 1 复制工件。
就个人而言,我更喜欢选项 1。Artifactory 是存储二进制文件的正确位置:)
第三种解决方案是使用作业 2 上的静默期设置来延迟启动 (Jenkins: build one job after another with some delay)。
我有两个 Jenkins 作业。
作业 1:将构建上传到 artifactory
工作 2:从 artifactory 下载构建并用它做一些事情
现在,作业 1 使用参数化构建插件触发作业 2(作业 2 在我公司的许多团队之间共享,所以我不想对其进行太多更改 - 这是一个参数化的作业,需要一个人工制品URL)
问题是,工件似乎并不总是在触发作业 2 之前完成上传到工件。有时作业 2 在尝试下载工件时会收到 404。有什么方法可以 1) 在工件上传之前阻止触发作业 2?或 2) 将工件直接从 Job 1 传递到 Job 2 w/out 需要上传和下载? (前者更可取,因为选项 2 需要更改作业 2)
关于您的选项 1,如果失败,您可以使用 Naginator 插件重新安排作业 2。
关于选项2,可以使用Copy Artifact插件。它将允许作业 2 从作业 1 复制工件。
就个人而言,我更喜欢选项 1。Artifactory 是存储二进制文件的正确位置:)
第三种解决方案是使用作业 2 上的静默期设置来延迟启动 (Jenkins: build one job after another with some delay)。