這也許是一個不尋常的Jenkins查詢,但我們有一個跨越很多項目的項目。它們都是基於Linux的,但它們跨越多種體系結構(MIPS,SPARC,ARMv6,ARMv7)。配置Jenkins以編程方式從構建參數確定構建時的slave?
對於特定的組件,讓我們把它叫做「視頻編碼器」,因此,我們將有4個項目:MIPS-視頻編碼器,SPARC-視頻編碼器等
每個項目是建立在4將標籤與其架構分開,即MIPS從服務器的標籤爲'mips''linux'。
我的目標是:
- 整合我們所有的單獨工作。這應該使我們更容易修改作業屬性,也更容易添加更多作業,而無需添加如此多架構特定作業的雙重工作。
- 允許我們一次只構建一個架構,如果我們願意的話。如果MIPS作業失敗,我們希望只爲MIPS而不是其他作品。
我看過'多配置'類型的工作 - 目前我們只是使用簡單的單一配置工作。我不確定多配置類型是否允許我們一次構建單獨的體系結構。我有一個配置矩陣玩,但不知道這是否可以改變/適應只爲單一平臺。看起來我可能能夠使用Groovy語句來執行此操作?喜歡的東西:
(label=="mips".implies("slave"=="mips")
也許這可以簡化到像奴隸==標籤,其中標籤是作業前的名字,當在它的配置單狀態,現在是一個構建參數?
我在想,如果我們可以通過編程方式爲此選擇slave,我們不需要多配置作業。
我非常感謝一些建議,關於如何整合我們擁有的工作數量,並基於作爲構建參數的項目體系結構以編程方式更改目標從屬服務器。
提前許多感謝,
是什麼所有這些工作的共同點?只有參數,或者有共同的構建步驟? –
有一些常見的構建步驟:有效地,我們'cd'進入目錄並運行'make ARCH =',其中ARCH = mips/armv7 /等。我們總是使用相同的文件名SCP,因此這裏沒有問題。 – user3526827