2011-07-18 23 views
1

我用幾個矩陣的作業通常包含以下步驟對整個矩陣:基質工作:建立同一節點

BuildInstallTest

Build〜步驟設置爲觸地得分-步。其他步驟正在使用由Build創建的二進制文件。

我最近添加另一個節點到我的系統,它應該建立這些矩陣的作業太多。現在我的問題是,詹金斯正在將我的工作的步驟分配給這些節點。

Example: 
1. Slave A runs the `Build` step and succeeds 
2. Slave B runs the `Install` step and fails due to its dependency on the `Build`-results. 
3. Slave A runs the `Test` step and succeeds, cause the dependencies are existing. 

矩陣作業的執行失敗,導致其步驟分佈。現在

我的問題是,如果有任何方式矩陣作業的執行綁定至一個節點。如果在不同的節點上執行不同的執行是沒有問題的,但是某個執行的步驟應該在某個節點上完成。

這是沒有的矩陣在職綁定至一個節點的解決方案。它仍然應該綁定到一組節點。

+0

是您的每一個步驟(建造,安裝,測試)不同的工作,或者他們只是一個單一的工作的一部分? – Sagar

+0

這些是不同的工作。我已經想過把他們全部分成一份單一的工作,但這意味着工作會失敗,例如,只是安裝失敗。 – MOnsDaR

+0

對吧。好的,看下面。 – Sagar

回答

1

既然你有這些步驟爲單獨的作業,在「標籤」軸:

  • 確保你選擇的各個節點,而不是標籤,爲您的每個步驟。

這將確保您的每個步驟都在每個單獨的從站上運行,因此每個步驟都將具有它的前任工作區。

參見: http://imagebin.org/163627

====================================== ====================================

基於評論:

在這點,您有兩種選擇:

  • 您可以使用:https://wiki.jenkins-ci.org/display/JENKINS/Copy+Artifact+Plugin。您可以添加所需的所有內容作爲「構建」步驟的工件,並使用插件將其「安裝」步驟複製到其中。爲「安裝」=>「測試」做同樣的事情。

  • 結合您步入一個作業,因爲沒有保證在同一個節點將是「最少使用」的每一步,如果他們是不同的工作。強制所有作業使用相同節點的唯一方法是選擇單個節點而不是標籤。

希望幫助...

+0

這不會做我想要的。這將在鏈接到作業的每個節點上執行作業。我想要做的是負載管理:如果我想構建矩陣A,它應該建立在最少使用的節點上。 (不在每個節點上) – MOnsDaR

+0

查看編輯答案。 – Sagar

+0

這有助於,謝謝! – MOnsDaR