2017-08-03 137 views
1

讓我們考慮這是由模塊A的多模塊項目,B,C,d,E。在這些之中的依賴關係是如何將Maven多模塊構建拆分爲多個Jenkins構建作業?

  • ,c取決於B; B取決於A
  • E取決於D; d取決於乙

我想這分成兩個詹金斯構建

  • 生成1:構建C和它的依賴性,即-pl :C -am
  • 複印詹金斯工作區
  • 生成2:建立電子,D通過利用Build 1構建的B.jar

我無法想出一種方法來告訴Maven做「Build 2」。這是一個簡化的場景,但在我的情況下,有幾個模塊,而不是僅有5個。

+0

如果你有一個正確配置的多模塊版本,你可以簡單地在你的項目結構的根級調用'mvn clean deploy'。如果你喜歡在你的Jenkins作業中調用子模塊,這聽起來像是你的構建有問題... – khmarbaise

回答

0

您可能可以使用-pl選項來定位特定模塊。 http://books.sonatype.com/mvnref-book/reference/_using_advanced_reactor_options.html

一般來說,我沒有看到這樣做,但 - 如果一個項目是多模塊的,通常人們只需從父對象的CI調用maven,並讓maven負責構建一切,而不是在CI中進行復制關於已經定義爲maven的項目內部的依賴/子組件的工具知識。如果某個特定模塊構建出現問題,Jenkins仍會在構建日誌中公開該問題。

+0

謝謝。 '-pl'和'-am'將有助於「Build 1」。但我不確定如何使用這些反應堆選項對「Build 2」進行建模。 – phani