2012-08-09 170 views
2

問題:如果另一個構建流正在構建過程中,是否有辦法阻止構建流?詹金斯 - 如何阻止構建流?

這是我想要做的。我有兩個包含多個作業的構建流。我可以阻止作業上傳或下傳給定的流。但是,如果其他構建流正在構建,我不能阻止構建流。

這是我的設置:

生成流1: A1 - > B1 - > C1
生成流2: A2 - > B2 - > C2

工作A1A2使用SCM插件設置,以在我們的回購中查詢單獨的位置。所以構建可以在任何時候觸發它發現一個變化。構建流應該被獨立處理,但如果其他構建了作業,則會阻止構建流。

我已經試過構建攔截插件,但問題是,如果一個或多個作業正在建設它只有塊。它似乎並不關心在構建隊列中等待的其他構建。

我對提供給我的資源數量有限,所以我不得不在我們的構建中翻一番。

+0

可以完成你想通過限制到一個單一的執行者? – 2012-08-09 04:38:00

+0

我試過了,但是失敗了......也許我可以參數化每個構建流,然後根據我們的回購供應中的那個分支變化,作爲構建的參數? ::我真的不知道:: – user1429220 2012-08-09 16:14:13

回答

2

Exclusion Plugin或許能幫到你。

你會怎樣做的是建立其他的工作來管理構建火車,M1的工作將有建立的步驟,請執行以下操作:

  1. 搶信號燈
  2. 觸發A1
  3. 等待C1完成
  4. 釋放信號量

M2的工作將是類似

  1. 搶信號燈
  2. 觸發A2
  3. 等待C2完成
  4. 釋放信號量

你需要超時,但本質上是思想