專欄的前面幾篇博客已經(jīng)把jenkins和gitlab集成起來(lái)了,接著我們開始打包,部署發(fā)布maven項(xiàng)目
第一步 在jenkins容器中安裝maven
首先在jenkins中安裝maven,docker安裝的maven默認(rèn)安裝了java,但是沒(méi)有安裝maven,所以這里我們需要自己進(jìn)入到j(luò)enkins容器中,然后安裝maven。
我這里的maven是自己在官網(wǎng)傳送門下載的最新版maven3.9.0.tar.gz,
然后通過(guò)FileZilla Client傳送到linux服務(wù)器,然后再通過(guò)docker cp傳送到j(luò)enkins容器下進(jìn)行安裝的;
安裝就是將解壓后的maven直接放到某個(gè)目錄下,我這里放到了/opt目錄下。
然后到maven的conf目錄下修改maven的setting.xml的內(nèi)容,主要是修改本地倉(cāng)庫(kù)位置和遠(yuǎn)程倉(cāng)庫(kù)鏡像(這里遠(yuǎn)程倉(cāng)庫(kù)使用的是阿里巴巴的)
最后我們需要配置maven的環(huán)境變量:
執(zhí)行命令
source /etc/profile
mvn -v
如果成功輸出了版本信息,表示maven已經(jīng)安裝完成。
接下來(lái)我們就需要在jenkins中的maven項(xiàng)目中配置相關(guān)信息了。不過(guò)這里有一點(diǎn)要先說(shuō)明,就是首先要搭建好自己的一臺(tái)遠(yuǎn)程服務(wù)器,具體的搭建過(guò)程這里就不再敘述。詳細(xì)的搭建過(guò)程可看傳送門。
第二步在jenkins中新建maven項(xiàng)目,并且配置maven項(xiàng)目相關(guān)的屬性
首先我們需要進(jìn)入到系統(tǒng)管理,然后配置maven相關(guān)的全局屬性:
接著就配置 Publish over SSH,我這里配置的是用用戶名和密碼登陸的,這里的都是和遠(yuǎn)程服務(wù)器相關(guān)的。
這里配置完我們可以點(diǎn)擊test connection測(cè)試一下,success的話就可以了。
接著我們可以在jenkins中新建一個(gè)maven項(xiàng)目:
然后配置maven項(xiàng)目相關(guān)的屬性:
首先配置的是Jenkins拉去項(xiàng)目的源以及編譯時(shí)的jdk版本(這里需要jenkins安裝jdk-parameter插件才能使用多版本jdk)。
接著我們配置觸發(fā)器和構(gòu)建環(huán)境:
按照?qǐng)D中勾選即可
接著我們開始配置編譯過(guò)程和ssh:
圖中的exec command:
BASE_HOME=/root/data
JAR_NAME=Test-0.0.1-SNAPSHOT.jar
LOG_NAME=out.log
# 停止應(yīng)用
ps -ef | grep $JAR_NAME | grep -v grep | awk '{print $2}' | xargs -i kill {}
# 備份日志
if [ -f $BASE_HOME/$LOG_NAME ]; then
mv $BASE_HOME/$LOG_NAME $BASE_HOME/$LOG_NAME.`date +%Y%m%d%H%M%S`
fi
# 備份jar包
if [ -f $BASE_HOME/$JAR_NAME ]; then
cp $BASE_HOME/$JAR_NAME $BASE_HOME/$JAR_NAME.`date +%Y%m%d%H%M%S`
fi
#啟動(dòng)應(yīng)用
nohup java -jar $BASE_HOME/$JAR_NAME &>$BASE_HOME/$LOG_NAME &
這里的表示我們?cè)谶h(yuǎn)程服務(wù)器的目錄是/root/data。jenkins編譯并打包完成,會(huì)將包自動(dòng)發(fā)送到遠(yuǎn)程服務(wù)器的/root/data目錄下,并且在此目錄下自動(dòng)發(fā)布并運(yùn)行。
成功編譯結(jié)果如下:
我們看到編譯打包后的包也傳送到了遠(yuǎn)程服務(wù)器上,并且運(yùn)行了:文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-431999.html
這里關(guān)于gitlab與Jenkins集成并且打包,部署maven項(xiàng)目的一整條流程就完成了。后續(xù)我們只要編碼完成,把代碼提交到gitlab后,直接手動(dòng)在jenkins中點(diǎn)擊編譯部署即可。當(dāng)然你也可以配置自動(dòng)編譯并發(fā)布,就是一旦提交到gitlab就立即自動(dòng)發(fā)布,但是這種相對(duì)來(lái)講在比較浪費(fèi)資源,因?yàn)樵趯?shí)際生產(chǎn)中,如果公司沒(méi)有review機(jī)制的話,我們會(huì)經(jīng)常提交代碼到gitlab,會(huì)導(dǎo)致Jenkins經(jīng)常性的自動(dòng)部署發(fā)布,很影響開發(fā)。所以一般配置手動(dòng)打包發(fā)布即可。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-431999.html
到了這里,關(guān)于記錄使用jenkins配置maven,并且打包,部署,發(fā)布maven項(xiàng)目的過(guò)程的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!