人工上传后触发Jenkins作业

人工上传后触发Jenkins作业,jenkins,artifactory,Jenkins,Artifactory,我有两份詹金斯的工作 作业1:将构建上载到artifactory 工作2:从artifactory下载构建并使用它做一些事情 现在,作业1使用参数化构建插件触发作业2(作业2在我公司的许多团队中共享,所以我不想对其进行太多更改-它是一个参数化作业,需要人工URL) 问题是,工件似乎并不总是在触发作业2之前完成到工件的上传。有时,作业2在尝试下载工件时会得到404。是否有某种方法1)在工件上传之前防止触发作业2?或者2)将工件直接从作业1传递到作业2,需要进行上传和下载吗?(前者更好,因为选项2需

我有两份詹金斯的工作

作业1:将构建上载到artifactory

工作2:从artifactory下载构建并使用它做一些事情

现在,作业1使用参数化构建插件触发作业2(作业2在我公司的许多团队中共享,所以我不想对其进行太多更改-它是一个参数化作业,需要人工URL)


问题是,工件似乎并不总是在触发作业2之前完成到工件的上传。有时,作业2在尝试下载工件时会得到404。是否有某种方法1)在工件上传之前防止触发作业2?或者2)将工件直接从作业1传递到作业2,需要进行上传和下载吗?(前者更好,因为选项2需要更改作业2)

关于选项1,如果作业2失败,您可以使用插件重新安排作业2

关于选项2,您可以使用插件。它将允许作业2从作业1复制工件

就个人而言,我更喜欢选项1。Artifactory是存储二进制文件的正确位置:)


第三种解决方案是使用作业2上的静默期设置来延迟启动()。

谢谢-有没有办法延迟作业2的运行开始?知道它将要失败而启动它似乎很愚蠢。是的,有一个安静期设置可以用于作业2,请查看此处:。我在回答中添加了这个解决方案。如果它解决了你的问题,请投票:)谢谢-不幸的是,这并不能解决我的问题,因为很多人都在使用作业2-我不希望他们都有延迟-我只希望在作业1触发作业2时有延迟。有什么方法可以将延迟添加到触发器中吗?一个糟糕的解决方案是在作业1上添加一个shell/batch post build步骤,并添加一种等待(例如,sleep N seconds)。