鍍金池/ 問答/Java/ Jenkins如何構(gòu)建maven多模塊項(xiàng)目?

Jenkins如何構(gòu)建maven多模塊項(xiàng)目?

我有一個(gè)maven 的springboot項(xiàng)目
這個(gè)項(xiàng)目有多模塊,一個(gè)parent pom,一個(gè)api模塊,然后其他模塊都依賴于api模塊
配置jenkins
由于這個(gè)maven多模塊項(xiàng)目上傳在同一個(gè)git repository中
所以他們統(tǒng)一作為一個(gè)project
project下面其實(shí)也是分modules了
但是每個(gè)module只可以編譯
不可以設(shè)置Post Steps(我的步驟是編譯生成jar包,然后在post steps里將jar包移到linux下某個(gè)目錄下,然后運(yùn)行這個(gè)jar包)
只可以在project下面設(shè)置
這樣的話,譬如我有一個(gè)order模塊要升級(jí)更新,我無法單獨(dú)將這個(gè)order.jar包移到linux下order目錄下,然后運(yùn)行這個(gè)jar包

我的方案是:
1 有多少個(gè)單獨(dú)運(yùn)行的模塊,就建立多少個(gè)jenkins project,但是在Goals and options中只編譯某個(gè)模塊,然后在Post Steps里的腳本也只處理那個(gè)模塊
我認(rèn)為這樣的問題是,每個(gè)project都會(huì)有一份這個(gè)project的源碼,這樣比較浪費(fèi)

2 每個(gè)模塊都建立一個(gè)git repository,這樣在jenkins里,每個(gè)project只管理一個(gè)模塊的git,但是這樣的話,如何解決每個(gè)模塊依賴parent pom以及api模塊的問題?

回答
編輯回答
墨染殤

把依賴的module作為一個(gè)lib庫jar包,放入你的新模塊。在需要運(yùn)行的時(shí)候maven 會(huì)尋找manifest.mf中claaspath下的依賴包,也可以使用Nexus管理,也可以用微服務(wù)的方式。

2018年5月14日 11:59
編輯回答
敢試

樓主的問題解決了嗎,我也是構(gòu)建的maven項(xiàng)目,使用jenkins里的模塊單獨(dú)構(gòu)建,都會(huì)報(bào)錯(cuò),看了下執(zhí)行的maven指令,加了參數(shù)-N -B -f,好像是沒有解析maven模塊間的依賴關(guān)系,樓主你使用jenkins可以成功使用模塊單獨(dú)構(gòu)建嗎?

2018年6月21日 02:31
編輯回答
懶洋洋

自己的依賴,或者弄一個(gè)私服,或者install到跑Jenkins的機(jī)器上
個(gè)人觀點(diǎn)maven多模塊更適合庫,不適合服務(wù)

2017年6月30日 17:13