2011-07-01 63 views
7

我需要構建和測試多種配置:linux,osx和solaris。我有奴隸節點標有「linux」,「osx」和「solaris」。在 每個配置,我想(一)建立(b)運行煙霧測試 (三)如果煙霧測試通過,然後運行全面測試,或許更多。如何配置jenkins多配置構建和測試

我認爲多配置工作可能是答案,所以我設置了一個 多配置構建作業,並開始在每個 OS上併發構建。構建作業將觸發下游煙霧測試版本,在 轉,觸發完整測試作業。

我碰到以下問題

  1. 如果配置中的一個出現故障,工作作爲一個整體失敗, 詹金斯將不會觸發任何下游作業(例如,如果Solaris打造 失敗,詹金斯將不會運行煙霧測試或全面測試osx和linux)。

  2. 在Solaris構建需要大約兩倍長的人(在 爲了一個小時),並且我也希望在Linux和OSX煙霧測試不 等待了Solaris打造完成。

這是否意味着我留下了手工編寫的工作三條流水線,並 把它們後面的「開始 - 所有」工作(即創建和手鍊 以下職位)?

build-linux smoke-test-linux full-test-linux 
build-osx  smoke-test-osx  full-test-osx 
build-solaris smoke-test-solaris full-test-solaris 

我錯過了一些明顯的東西嗎?

回答

4

據我所知,答案是創建3個矩陣作業,每個系統一個。然後,他們將有3個subjobs(build,smoke-test,fulltest),並將build-job作爲試金石。

+0

我對這個答案有點困惑。如果有3個矩陣作業,每個作業的軸是什麼? 'matrix job'=='multijob'在這裏? – Dormidont

3

您是否曾想過將構建,冒煙測試和完整測試合併到一個多配置工作中?除了有點混亂之外,這應該適合你。

要回答你的第一個問題:無論結果引發下游的工作,利用觸發參數構建於完成時運行(始終觸發),然後選中「構建W/O參數」

要回答你的第二個問題:或者使用全部包含的多配置(矩陣)作業,或者使用三個獨立的作業流,如前所述。更新:您可以爲每個步驟運行3個連續的矩陣作業(構建,煙霧測試,完整測試),但這意味着如果任何構建步驟失敗,則不會運行任何煙霧測試。