Jenkins 構(gòu)建springcloud 微服務項目

背景

目前大部分開發(fā)團隊采用 Springcloud 等微服務框架,在 Git 倉庫中會分多個模塊文件夾,但是實際開發(fā)測試過程中,我們并不需要全量更新,
只需編譯相應的服務及依賴模塊即可,目前各團隊在 Jenkins 上的構(gòu)建 job 大部分都是一個服務/模塊創(chuàng)建一個構(gòu)建 job,看起來非常的龐雜和臃
腫,這里介紹如何結(jié)合參數(shù)化構(gòu)建實現(xiàn)只編譯打包制定的模塊文件夾。

環(huán)境準備

安裝 Extended Choice Parameter , 目前公用Jenkins上已安裝好,此步驟可忽略

Jenkins配置

啟用參數(shù)化構(gòu)建

第一步:啟動參數(shù)化構(gòu)建
第二步:選擇 Extended Choice Parameter ,如下圖

image.png
參數(shù)化配置

按如下圖片設(shè)置各參數(shù)的細節(jié)

image.png
編寫 Shell

按如下圖片設(shè)置各參數(shù)的細節(jié)
其中,Shell 腳本的變量 WORKSPACE 就是指的工作區(qū)目錄,也是制定到拉取git倉庫后的目錄
變量 module_name 是 上一步配置的那個參數(shù)名稱
這里因為是多選項, ${module_name }輸出是 ratel-common,ratel-service-righ t這種形式,所以要做一下格式化處理,這里用的是
awk 切割 ,各位同學也可以像其他辦法單獨取出模塊名
此外,Maven執(zhí)行的命令最好使用絕對路徑,使用系統(tǒng)環(huán)境變量有可能會找不到

image.png

相關(guān) Shell 腳本如下:

echo ${module_name}| awk -F',' -v OFS='\n' '{var=$1;$1=var;print $0}'> 1.
txt
while read line
do
cd ${WORKSPACE}/${line}
/app/maven/bin/mvn clean install -Dmaven.test.skip
echo "${line} "
done<1.txt

查看效果

查看效果如下,參數(shù)化構(gòu)建選擇界面已產(chǎn)生


image.png

控制臺查看輸出


image.png
image.png

可以看出,想要的效果已經(jīng)實現(xiàn)了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容