2016-08-09 102 views
1

我們有4 projects如何設置Jenkins從其他具有應用程序內依賴關係的Maven項目構建Maven項目

AB,CD

AB,C對我們的應用程序中的其他項目沒有本地依賴性。

項目D需要依賴於A,B,C

我很好奇如何設置詹金斯能夠建立項目D。我是否需要更新maven pom文件以從我們的jenkins服務器構建作爲存儲庫依賴關係,或者可以通過jenkins直接設置,以便在構建D時能夠使用AB,C中的目標。

所有的存儲庫都存儲在Github

UPDATE

難道我想起來要設置這些項目爲「Maven項目」,「管道」或「自選動作項目」?

我可以看到你可以設置後置動作來「將工件部署到Maven存儲庫」,那麼我是否也會將它設置爲「構建其他項目」,以便在建立A/B/C時它們都設置爲「建立其他項目「D?

謝謝

回答

0

您可以使用parameterized-trigger"Block until the triggered projects finish their builds"選項來告訴詹金斯:

  • 觸發建立在A,B和C時,d是建立
  • 座d構建執行,直到A, B和C成功建成。

設4個項目是建立一個詹金斯節點上,那麼A,B和C的文物將在該節點的本地回購.m2安裝時,他們的Maven構建成功,d可以直接找到他們。你不必改變你的pom。

+0

@Rocheriee我建立A B C現在,當我去建d它沒有檢測到其他項目的jar文件的變化可以獨立建造。我也沒有看到「參數化觸發器」在自由式項目的設置中,我必須將其設置爲Maven項目嗎? – ALM

+0

確保maven的目標是對於A,B和C版本的「乾淨安裝」。檢查控制檯輸出以查看它們的工件是否安裝到'/ var/lib/jenkins/.m2 /'dir。 'parameterized-trigger'是你需要安裝的外部插件。 – Rocherlee

0

這取決於你希望多久建立D.

選項1:項目d取決於快照建立A,B,C,並會觸發任何上游的建立後(A,B,C )成功構建。當D只是A,B,C的聚合器時,此選項非常有用。選項2:在需要消耗A,B,C的穩定構建時配置項目D的POM。

在這兩個選項d時,只有在項目D.

相關問題