我目前正在測試Jenkins 2.0的管道方法,以查看它是否適用於我正在使用的構建環境。Jenkins:上游變化觸發多分支管道
首先關於環境本身。它目前由多個SCM存儲庫組成。每個存儲庫都包含多個分支,用於開發的不同階段,每個分支構建多個配置。並非所有配置都適用於每個存儲庫。
對於不同的配置,當前每個存儲庫/分支都設置爲Matrix Project。每個項目都將其構建結果作爲工件進行公開,這些工件將用於下游項目中。
不同的存儲庫相互依賴,因此成功構建上游作業會觸發某些特定的下游作業。目前所有的工作,但建立一個新的分支或調整建設過程所需的工作量很多,因爲許多不同的項目需要手動更改。
現在我想嘗試新的管道。我的想法是創建多分支管道項目,並在存儲庫中放置一個Jenkinsfile
,其中包含構建的說明。
主要問題是讓構建觸發對方,因爲基本上構建在特定的上游分支中,需要觸發下游分支。上游項目不知道下游分支需要觸發的信息。每個下游項目都會從某些上游分支中獲取工件,理想的解決方案是,如果下游構建將在作爲工件源的上游構建完成構建時觸發。
問題是隻有下游項目真的知道他們需要什麼工件。在大多數情況下,分支名稱不太可能匹配,這使得從上游項目觸發構建非常困難。
目前這是使用ReverseBuildTrigger
解決。但是,只要它靠近管道,這件事就會停止工作。
我真的很茫然如何得到這個工作。有沒有辦法讓ReverseBuildTrigger
在管道腳本里面工作?
在單個分支上游更改的情況下,也觸發整個下游構建的所有分支不是一個選項。這會造成太多的平等構建。
您使用哪種SCM類型? – luka5z
@ luka5z不應該是相關的。但它是SVN。 – Nitram