詳細(xì)介紹如何使用Jenkins自動(dòng)構(gòu)建化構(gòu)建SpringBoot項(xiàng)目

Jenkins是一個(gè)開(kāi)源的持續(xù)集成工具,應(yīng)用Jenkins搭建持續(xù)集成環(huán)境,可以進(jìn)行自動(dòng)構(gòu)建、自動(dòng)編譯和部署,非常方便。

在服務(wù)器比較少的情況下,Jenkins的優(yōu)勢(shì)并不明顯,但是隨著項(xiàng)目發(fā)展,服務(wù)器數(shù)量的增加,Jenkins的優(yōu)勢(shì)就會(huì)凸顯出來(lái),可以很好的提高效率,減少很多人工操作。

現(xiàn)在公司的開(kāi)發(fā)都是使用Git管理代碼,Maven管理多模塊和項(xiàng)目依賴,

所以今天嘗試學(xué)習(xí)使用Jenkins搭配Git與Maven進(jìn)行自動(dòng)構(gòu)建和部署SpringBoot項(xiàng)目。

一、準(zhǔn)備環(huán)境

我是本地使用虛擬機(jī)進(jìn)行搭建的,機(jī)器上面已經(jīng)安裝了tomcat9、jdk1.8、maven3.5.4、git1.8.3

二、下載Jenkins進(jìn)行部署并啟動(dòng)

地址:http://mirrors.jenkins.io/war-stable/(PS:這個(gè)里面是Jenkins全部歷史版本清單,樓主用的是Jenkins2.138.2版本)

咱們把Jenkins.war包直接放到Tomcat的webapps目錄里面,這邊我就不介紹如何搭建Tomcat和jdk環(huán)境了,下次再補(bǔ)吧~_~/

如果Tomcat是啟動(dòng)的話,Jenkins項(xiàng)目會(huì)自動(dòng)解壓的,如沒(méi)啟動(dòng)Tomcat,咱們運(yùn)行腳本啟動(dòng)即可。然后訪問(wèn)地址:http://192.168.92.129/jenkins/,這個(gè)ip就是你部署機(jī)器的ip地址。如果顯示以下界面,恭喜你Jenkins成功啟動(dòng)。

這個(gè)初始密碼,咱們可以在Tomcat的catalina.out日志里面會(huì)有顯示的,直接在日志里面掏出來(lái)就好了。

選擇安裝方式,默認(rèn)第一種就好了,它會(huì)自動(dòng)把我們安裝常用的插件(PS:如果默認(rèn)裝的插件沒(méi)有咱們要用的,我們可以在安裝完后,點(diǎn)擊 系統(tǒng)管理-插件管理,去搜索咱們想要的插件進(jìn)行安裝即可)

安裝完,設(shè)置對(duì)應(yīng)登錄賬戶即可進(jìn)入我們的主頁(yè)

三、配置對(duì)應(yīng)系統(tǒng)工具

因?yàn)樵蹅兎?wù)器里面都是裝有對(duì)應(yīng)jdk、maven環(huán)境的,我們需要在全局工具配置進(jìn)行配置。

四、開(kāi)始來(lái)構(gòu)建咱們的Maven項(xiàng)目

直接在首頁(yè)直接點(diǎn)擊“新建任務(wù)”

在源碼管理界面,填寫你的項(xiàng)目地址。

構(gòu)建觸發(fā)器,去掉所有勾選,采用手動(dòng)點(diǎn)擊觸發(fā)即可。

五、配置構(gòu)建成功后的動(dòng)作,進(jìn)行添加shell

Post Steps選項(xiàng)設(shè)置構(gòu)建完成后的動(dòng)作,

選擇Run only if build succeeds or is unstable,點(diǎn)擊添加Execute Shell:

Command部分

#!/bin/bash

cd /home/test/

./stop.sh

./replace.sh

echo "Execute shell Finish"

BUILD_ID=dontKillMe nohup /home/test/startup.sh &


這里需要三個(gè)文件,分別是 stop.sh, replace.sh, startup.sh

放在/home/test目錄中(PS:這個(gè)目錄你們可以自定義的)

stop.sh

echo "Stopping test"

pid=`ps -ef | grep test.jar | grep -v grep | awk '{print $2}'`

if [ -n "$pid" ]

then

? echo "kill -9 pid:" $pid

? kill -9 $pid

fi

replace.sh

cp /root/.jenkins/workspace/Test/target/test.jar /home/test

startup.sh

java -jar /home/test/test.jar

PS:因?yàn)闃侵鬟@個(gè)是SpringBoot項(xiàng)目,所以shell腳本也是執(zhí)行jar文件

構(gòu)建成功,項(xiàng)目狀態(tài)為藍(lán)色,失敗是紅色。

非常雞凍,成功顯示非常熟悉的?hello world!? 自此,maven工程就打成jar包,通過(guò)Jenkins構(gòu)建并部署執(zhí)行就成功啦!

六、遇到的問(wèn)題

第一次構(gòu)建的時(shí)候,看見(jiàn)控制臺(tái)輸出?

nohup: failed to run command '/home/test/startup.sh': Permission denied

經(jīng)過(guò)檢查發(fā)現(xiàn)是執(zhí)行shell腳本沒(méi)有權(quán)限,于是在執(zhí)行 startup.sh 前面給它進(jìn)行賦權(quán)chmod 777 /home/test/startup.sh


? ? ?這次也是樓主第一次在簡(jiǎn)書(shū)上面進(jìn)行分享文章,如果有啥不足希望大家多多指教,因?yàn)闃侵髟趯W(xué)習(xí)使用Jenkins構(gòu)建SpringBoot項(xiàng)目遇到了很多坑,因?yàn)榫W(wǎng)上也有很多類似的文章,發(fā)現(xiàn)有些文章寫的并不是非常詳細(xì),經(jīng)過(guò)一系列踩坑后終于還是搭建成功了。也不知道這篇文章大家看不看得懂,如果有啥問(wèn)題歡迎大家進(jìn)行評(píng)論。

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

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