2017-01-05 125 views
11

我正在尋找在Jenkins中將併發構建數量限制爲特定數量,利用多分支管道工作流程,但還沒有找到任何好方法在文檔或Google中執行此操作。如何限制Jenkins併發多分支管道構建?

有些文檔說這可以在Jenkinsfile的stage步驟中使用併發來完成,但我也使用read elsewhere這是一種不贊成使用的方式。

它最近似乎有something released限制併發通過Job Properties,但我找不到它的文檔,我遇到了麻煩的代碼。我唯一發現了一個PR顯示如下:

properties([concurrentBuilds(false)])

但我無法得到它的工作。

有沒有人知道或有一個很好的例子來說明如何限制給定的多分支項目的併發構建數量?也許是一個Jenkinsfile代碼片斷,展示瞭如何限制或限制多分支併發構建的數量?

回答

11

找到我正在尋找的東西。您可以使用Jenkinsfile中的以下塊來限制併發構建。

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

    //do stuff 
    ... 
} 

同樣可以用聲明的語法來實現:

pipeline { 
    options { 
     disableConcurrentBuilds() 
    } 
} 
+2

你可以做對於聲明性語法也是一樣。這裏是[文檔](https://jenkins.io/doc/book/pipeline/syntax/#options) –

0

由於@VadminKotov表示,它可能使用詹金斯聲明管道以及禁用concurrentbuilds:

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