2016-05-31 73 views
1

有誰知道將單個Jenkins作業拆分成多個部分並同時並行運行的方法嗎?拆分Jenkins作業同時運行

舉例來說,如果我有一個運行其需要30分鐘的測試工作,是有辦法,我可以打破這種作業分成在同一時間,但有三種不同的情況下

由於在運行三個10分鐘運行提前。

+0

將任務分解爲3個作業並在3個不同的實例上運行它們? – SilentMonk

+1

可能的重複 - http://stackoverflow.com/questions/37540591/parallel-test-execution-jenkins – SilentMonk

回答

0

創建新的工作,稱之爲f.e. 測試。您應該根據根作業的類型選擇作業類型。 >先進 -

如果你有一個Maven的工作類型,你可以在構建設置工作區目錄。自由式工作類型有這個選項直接在項目 - >高級

爲所有作業設置相同的工作目錄。根作業將被編譯,所有其他作業使用相同的工作目錄來使用編譯後的輸出。

對於測試作業,將測試執行添加爲構建步驟,這裏區別應執行的測試。

編輯您的根作業,並在那裏刪除長時間運行測試的延期。你現在可以打電話給那裏三個工作。但是你需要Parameterized Trigger Plugin

這種方式的缺點是,您需要足夠的jenkins執行程序來處理所有測試作業。

+0

感謝@CSchulz,在構建maven項目的高級工作中我還注意到了一個複選框「並行構建模塊」 。這會有用嗎?乾杯。 – colin

+0

我不認爲它會對你有所幫助,因爲你必須在自己的模塊中分開測試。 – CSchulz

0

如果您使用詹金斯1.x中,我建議嘗試多椎插件 - 我已經成功地用它來一個作業分成父母的工作,再加上多個子作業:

https://wiki.jenkins-ci.org/display/JENKINS/Multijob+Plugin

如果您使用詹金斯2.x中,然後嘗試管道功能:)這使得並行運行的任務非常簡單:

https://github.com/jenkinsci/pipeline-plugin/blob/master/TUTORIAL.md#creating-multiple-threads

如果你願意,我相信你也可以使用管道在詹金斯1 。 x通過插件的方式。儘管如此,我還沒有研究過。

相關問題