2015-09-06 24 views
1

我有jenkins設置與2個單獨的節點。我也有一個可以調用多個作業的父作業。其中一個作業在構建父作業期間被多次調用(它爲其餘作業之間的工作區執行一些清理)。是否有可能動態(不靜態)將jenkins上的構建作業綁定到特定節點

我想知道是否有可能將此作業的構建動態綁定到特定節點?

正如我所提到的,作業清理工作區,顯然我需要在構建父作業期間在兩個節點上完成作業。我也不想創建2個完全相同的獨立作業,唯一不同的是將每個靜態關聯到不同節點的複選框。有沒有解決我的問題?

回答

2

考慮加入Node label plugin和參數

這將使「標籤」作爲參數。你可以用小邏輯來傳遞這個參數。

+1

謝謝jayan :) – mkmostafa

+1

一旦你能解決這個問題,你可以提供一個詳細的答案。這將有助於遊客.. – Jayan

+0

試了一下,像一個魅力工作。再次感謝 :)。 我希望根據您的要求提供完整詳細的屏幕截圖。我應該在單獨的答案或評論這裏做嗎? – mkmostafa

0

這種專門的任務可以使用Workflow plugin更簡潔地完成。

node('first') { 
    sh 'rm -rf *' // or when 1.11 released: deleteDir() 
    // more work… 
} 
node('second') { 
    sh 'rm -rf *' 
    // … 
} 

或者你可以使用parallel步驟同時運行這些東西,等

您還可以使用build開始構建以各種方式等項目,雖然你失去了那麼的優勢能夠在一個腳本中看到整個過程,並且您還可能失去對下游構建使用的確切工作空間的控制權(尤其是在標記爲具有併發功能的情況下)。

+0

我想你誤解了這個問題。我希望有一個參數「節點」,以便每當我構建某個作業時能夠選擇一個節點來構建它。這已通過「節點標籤插件」實現。 感謝您的回覆:) – mkmostafa