如何防止詹金斯同时执行两次工作

时间:2018-08-22 10:48:03

标签: jenkins jenkins-pipeline

情况:

2个文件放置在服务器上,这将向Jenkins发送触发器以启动管道作业。

问题:

trigger-script启动每个文件的触发器,导致作业运行两次,而想法是仅运行一次。

联系了创建触发器的一方,他们说触发器无法更改。

因此无法进行触发器侧修正。

问题和到目前为止我尝试过的事情

我尝试添加

options {
        disableConcurrentBuilds()
    }

对于我的管道脚本,但这似乎无济于事。

我曾尝试将构建速度限制为每小时一小时,但随后它将第二次运行排入队列,直到第一个运行完成为止,而我只希望它弹起并且永不运行,只有第一个运行。

我的问题是,如何设置我的工作,以便即使触发器启动两次,也只能运行一项工作。

谢谢。

3 个答案:

答案 0 :(得分:2)

我会进入平静期:https://jenkins.io/blog/2010/08/11/quiet-period-feature/

这样,如果它在一定时间内被触发两次,则会注意到它们是重复项,并且只会触发一次。

答案 1 :(得分:1)

最终,我在詹金斯之外解决了这个问题。 通过向启动我的Jenkins Pipeline的触发脚本添加一个catch,以防止它被快速连续踢两次。

答案 2 :(得分:0)

尝试在作业配置页面中禁用并发构建。 enter image description here