[英]How to build a pipeline of jobs in Jenkins?
在我的項目中,我有3個web應用程序,都依賴於一個all-commons
項目。
在我的Jenkins服務器中,我構建了4個作業, all-commons_RELEASE
, web-A_RELEASE
, web-B_RELEASE
和web-C_RELEASE
。 這些工作的作用是構建部署在Nexus上的工件。 然后,有人在Nexus中檢索這些工件並將它們部署在我們的開發/認證服務器上。
我想要的是,有一個(額外的?)工作將按順序啟動所有4個版本。 這樣,一旦完成此作業,所有RELEASE作業都已執行。 當然,如果一個構建失敗,則該過程停止。
我的第一個想法是在all-commons_RELEASE
的Post-build Actions的Build other projects列表中指出web-A_RELEASE
all-commons_RELEASE
。 然后, web-B_RELEASE
依賴於web-A_RELEASE
,依此類推。
但是,我希望能夠單獨啟動它們,如果我指出對項目的依賴性,這是不可能的。 例如,如果我手動啟動web-B_RELEASE
,那么之后將構建web-C_RELEASE
,這不是我想要的......
你知道我怎么能做到這一點,或者一個插件來幫助我做到這一點?
問候。
ps:Jenkins 1.430,所有RELEASE作業都是自由式項目(它們混合了Maven和bash命令)。
也許您可以使用參數化觸發插件 ?
使用該插件,您可以將觸發器設置為“管道”作業中的構建步驟。 有一個復選框“阻止直到觸發的作業完成”,您需要激活該復選框。 您可以簡單地將這三個作業配置為以這種方式觸發,並且只有在運行此新管道作業時才會觸發,因此運行其他作業而不觸發任何操作都可以正常工作。
這應該是你需要的。
不知道你是否已找到答案,但對於其他好奇的人:
您可以創建另一個作業build_all ,然后將每個其他構建作為構建步驟觸發。
您想要的設置對於build_all看起來像這樣,每個構建步驟都是“在其他項目上觸發/調用構建”
確保選中“阻止直到觸發的項目完成其構建”選項,以確保構建按順序發生。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.