How to limit Jenkins concurrent multibranch pipeline builds? How to limit Jenkins concurrent multibranch pipeline builds? jenkins jenkins

How to limit Jenkins concurrent multibranch pipeline builds?


Found what I was looking for. You can limit the concurrent builds using the following block in your Jenkinsfile.

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

The same can be achieved with a declarative syntax:

pipeline {    options {        disableConcurrentBuilds()    }}


Limiting concurrent builds or stages are possible with the Lockable Resources Plugin (GitHub). I always use this mechanism to ensure that no publishing/release step is executed at the same time, while normal stages can be build concurrently.

echo 'Starting'lock('my-resource-name') {  echo 'Do something here that requires unique access to the resource'  // any other build will wait until the one locking the resource leaves this block}echo 'Finish'


As @VadminKotov indicated it is possible to disable concurrentbuilds using jenkins declarative pipelines as well:

pipeline {    agent any    options { disableConcurrentBuilds() }    stages {        stage('Build') {            steps {                echo 'Hello Jenkins Declarative Pipeline'            }        }    }}