工具:
Jenkins ver。 1.470
的Maven 2
顛覆Jenkins部分構建/提交吊鉤上的模塊化構建
環境
假設我打造了一批項目A-d。依賴關係圖如圖所示。也就是說:B依賴於A中的類,C依賴於B中的類,D依賴於A中的類。我們創建jenkins構建,使得他們將構建依賴於它們作爲後構建操作。
甲
| - >乙 - 「ç
| - > d
每天晚上,我們在詹金斯(A構建,觸發器觸發完全構建B(觸發器C),觸發器d )。通過告訴A建立每晚,其餘的級聯可以輕鬆完成。
問題
然而,在承諾我們所要建設都致力於一旦項目。
情況1:我們查詢資料庫(或使用commit hooks,這都沒有區別),發現有一個承諾,B,那麼B將建立和C能增強。 成功!
情況2:我們查詢資料庫,發現B和C都致力於在一次提交,然後詹金斯將嘗試建立B(觸發℃的建設),並建立C(第二次構建)。 失敗。看看會發生什麼? C建造了兩次,佔用了寶貴的建造時間。 保持構建速度!
有誰知道一個辦法只能觸發每個致力於構建流水線最高的項目嗎?
我想一個解決方案將是一個複雜的SVN鉤,其確定最高項目中的每個管道...
- 情況3:承諾B C和d在一個提交。 SVN掛鉤發現C取決於B.鉤子調用項目特定的鏈接來開始構建B和D.
陷阱:非常複雜的SVN提交掛鉤。必須維護SVN鉤子中的管道。
我覺得這是別人遇到的問題。有沒有一個Jenkins插件可以解決這個問題?
在情況2中,jenkins項目C&B正在看同一個svn項目? – thekbb