如何限制Jenkins并发多分支管道构建?

问题描述 投票:23回答:2

我正在考虑在Jenkins中将并发构建的数量限制为特定的数量,利用多分支管道工作流程,但在docs或google中找不到任何好的方法。

一些文档说这可以使用Jenkins文件的stage步骤中的并发来完成,但我也是read elsewhere,这是一种弃用的方式。

看起来最近有something released通过Job Properties来限制并发性但是我找不到它的文档而且我在跟踪代码时遇到了麻烦。我发现PR唯一能显示以下内容:

properties([concurrentBuilds(false)])

但是我无法让它正常工作。

有没有人知道或有一个很好的例子来说明如何限制给定的多分支项目的并发构建数量?也许是一个Jenkinsfile片段,展示了如何限制或限制多分支并发构建的数量?

jenkins groovy concurrency jenkins-pipeline
2个回答
41
投票

找到了我想要的东西。您可以使用Jenkinsfile中的以下块来限制并发构建。

node {
  // This limits build concurrency to 1 per branch
  properties([disableConcurrentBuilds()])

  //do stuff
  ...
}

使用声明性语法可以实现相同的目的:

pipeline {
    options {
        disableConcurrentBuilds()
    }
}

4
投票

由于@VadminKotov表示可以使用jenkins声明性管道禁用并发构建:

pipeline {
    agent any
    options { disableConcurrentBuilds() }
    stages {
        stage('Build') {
            steps {
                echo 'Hello Jenkins Declarative Pipeline'
            }
        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.