詹金斯:disableConcurentBuild 不工作

Jenkins: disableConcurentBuild not working

我有一个多分支管道,我想确保它一次执行一个 运行。我无法在代理上设置单个执行程序,因为其他工作可以 运行 在其他工作区中。

以下是我的管道的脚本编写方式:

/* Job properties */
properties([
    disableConcurrentBuilds(),
    gitLabConnection('Gitlab'),
    [$class: 'RebuildSettings', autoRebuild: false, rebuildDisabled: true],
    [$class: 'JobRestrictionProperty'],
    [$class: 'ThrottleJobProperty', categories: [], limitOneJobWithMatchingParams: false, maxConcurrentPerNode: 1, maxConcurrentTotal: 1, paramsToUseForLimit: '', throttleEnabled: true, throttleOption: 'project'],
    [$class: 'JobInclusionJobProperty', jobGroupName: 'UrgentJobs', useJobGroup: false]
])

node( allowedNodes ) {

    def hadBuildSucceeded = false

    ws(custom_directory) {  

       .....
    }
}

当我一次推送三个分支时,作业将同时启动 运行ning 三次,请问有什么关于为什么失败的建议吗?

如果您需要推送许多不同的分支,它仍然会构建所有分支,此选项 (disableConcurrentBuilds) 只会将每个分支一次限制为一个构建,并将为在已创建初始作业。

这似乎是一个错误(仍未解决,@april2018):https://issues.jenkins-ci.org/browse/JENKINS-35359