簡體   English   中英

如何在詹金斯建立一個工作流程?

[英]How to build a pipeline of jobs in Jenkins?

在我的項目中,我有3個web應用程序,都依賴於一個all-commons項目。

在我的Jenkins服務器中,我構建了4個作業, all-commons_RELEASEweb-A_RELEASEweb-B_RELEASEweb-C_RELEASE 這些工作的作用是構建部署在Nexus上的工件。 然后,有人在Nexus中檢索這些工件並將它們部署在我們的開發/認證服務器上。

我想要的是,有一個(額外的?)工作將按順序啟動所有4個版本。 這樣,一旦完成此作業,所有RELEASE作業都已執行。 當然,如果一個構建失敗,則該過程停止。

我的第一個想法是在all-commons_RELEASEPost-build ActionsBuild 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看起來像這樣,每個構建步驟都是“在其他項目上觸發/調用構建”

  • 構建第1步:all-commons_RELEASE
  • 構建第2步:web-A_RELEASE
  • 構建第3步:web-B_RELEASE
  • 構建第4步:web-C_RELEASE

確保選中“阻止直到觸發的項目完成其構建”選項,以確保構建按順序發生。

試試這個

Build Flow插件

你可以按順序運行或構建你的工作:

build("job1")
build("job2")
.
.
build("job-n")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM