目錄
1.項(xiàng)目基本情況
2.jenkins的下載
1)? 安裝jdk
2)下載、啟動(dòng)和配置jenkins
3. 啟動(dòng)Jenkins
4. 安裝Jenkins插件
5. 重啟jenkins
6.jenkins工具的配置
1) jdk的路徑配置
7.創(chuàng)建springboot項(xiàng)目的持續(xù)集成任務(wù)
1)? 新建項(xiàng)目
2)代碼拉取
3)? 打包項(xiàng)目
4)啟動(dòng)jar程序
5)解決jenkins構(gòu)建結(jié)束后終止所有它啟動(dòng)進(jìn)程的問(wèn)題
6)再次build now,驗(yàn)證是否正常
1.項(xiàng)目基本情況
該項(xiàng)目是? zhangjianfen 同學(xué)的軟件配置管理期末的項(xiàng)目
項(xiàng)目存儲(chǔ)在gitee上,路徑:
軟件配置管理期末: 1111111111111https://gitee.com/zjf18664209766/project.git
2.jenkins的下載
可請(qǐng)自行百度。或者參考超星班級(jí)資料中的詳細(xì)步驟
1)? 安裝jdk
請(qǐng)先確保安裝了jdk,我安裝的是JDK1.8
2)下載、啟動(dòng)和配置jenkins
下載路徑:
清華鏡像 ?Index of /jenkins/war/ | 清華大學(xué)開(kāi)源軟件鏡像站 | Tsinghua Open Source Mirror??
下載想要的版本,建議:2.364.1 LTS
注意,jenkins的版本和jdk版本
Jenkins是java程序,需要和jdk的版本匹配。學(xué)校計(jì)算機(jī)機(jī)房jdk版本1.8,所以jenkins建議選擇2.364.1,否則版本太高的jenkins不支持
3. 啟動(dòng)Jenkins
在jenkins jar包所在的文件夾下?打開(kāi)命令行窗口,執(zhí)行如下命令啟動(dòng)jenkins并指定jenkins端口號(hào)為8899:大家也可以根據(jù)需要修改端口號(hào)
java -jar?jenkins_2.346.war?--httpPort=8899?
4. 安裝Jenkins插件
大家可以啟動(dòng)jenkins后,通過(guò)jenkins安裝插件。也可以將下載的插件放到j(luò)enkins主目錄的plugins目錄下,
在這里為了大家能快速安裝插件,大家可以將我的plugins壓縮包里的內(nèi)容復(fù)制到你的jenkins
鏈接:https://pan.baidu.com/s/1NvVoJUsgK1Zc438kQ-kTCw?pwd=6666?
提取碼:6666
5. 重啟jenkins
安裝插件后需要重啟才能使用插件,在jenkins運(yùn)行的命令窗口中輸入 ctrl+c終止程序,然后再次運(yùn)行
java -jar?jenkins_2.346.war?--httpPort=8899?
6.jenkins工具的配置
1) jdk的路徑配置
7.創(chuàng)建springboot項(xiàng)目的持續(xù)集成任務(wù)
1)? 新建項(xiàng)目
設(shè)置項(xiàng)目名稱、任務(wù)類型(選擇自由風(fēng)格)
??
2)代碼拉取
拉取代碼的倉(cāng)庫(kù)路徑:軟件配置管理期末: 1111111111111https://gitee.com/zjf18664209766/project.git
?點(diǎn)擊 builid now,嘗試一下,看能否正常拉取代碼
?
查看控制臺(tái)詳情
3)? 打包項(xiàng)目
?本項(xiàng)目是maven項(xiàng)目。我們可以用 mvn clean package命令來(lái)編譯打包
但是需要注意的是,該命令需要在pom.xml文件所在路徑執(zhí)行,所以我們需要在編譯打包前切換到該路徑
?jenkins添加一個(gè) Excute windows batch command的步驟:
?輸入windows 批處理命令如下,期中 .\表示當(dāng)前路徑,jenkins默認(rèn)路徑就是當(dāng)前工作區(qū)目錄:
cd ?.\04開(kāi)發(fā)\module_campus
mvn clean package
?再次構(gòu)建。確認(rèn)可否構(gòu)建出jar包
4)啟動(dòng)jar程序
可以用 java -jar? xxxx.jar? --server.port=端口號(hào)? 包的方式來(lái)啟動(dòng)程序
但是這樣,構(gòu)建過(guò)程將一直處于執(zhí)行中的狀態(tài)。所以我們可以增加?start /B ?以后臺(tái)方式運(yùn)行
當(dāng)然為了找到j(luò)ar包,我們需要切換到j(luò)ar文件所在的路徑
在 excute windows batch command步驟,輸入的內(nèi)容如下
cd ?.\04開(kāi)發(fā)\module_campus\target
start /B cmd /c "java -jar ?module_campus-0.0.1-SNAPSHOT.jar ? --server.port=8181 ?"
具體含義如下:
cd命令用于切換當(dāng)前目錄到 當(dāng)前目錄的 子目錄04開(kāi)發(fā)\module_campus\target中
- start:?jiǎn)?dòng)一個(gè)新的命令行窗口,以異步方式運(yùn)行下面的命令。
- /B:以后臺(tái)模式運(yùn)行新命令行窗口,即不在當(dāng)前命令行窗口輸出新窗口的信息。
- cmd:運(yùn)行cmd.exe(Windows命令行解釋器)。
- /c:運(yùn)行完命令后關(guān)閉命令行窗口。
- "java -jar ?module_campus-0.0.1-SNAPSHOT.jar ? --server.port=8181":要在新命令行窗口中運(yùn)行的命令。這是一個(gè)Java命令,用于啟動(dòng)指定的jar文件,并設(shè)置應(yīng)用程序的運(yùn)行參數(shù)為--server.port=8181。
?再次構(gòu)建。確認(rèn)構(gòu)建是否成功,可否通過(guò)localhost:8181來(lái)訪問(wèn)程序
這時(shí)你會(huì)發(fā)現(xiàn)構(gòu)建進(jìn)度到2/3時(shí),?localhost:8181可以訪問(wèn)到系統(tǒng),但構(gòu)建完成后,又不能再訪問(wèn)了。
這是由于jenkins構(gòu)建完成后,會(huì)終止掉所由它啟動(dòng)的程序。
5)解決jenkins構(gòu)建結(jié)束后終止所有它啟動(dòng)進(jìn)程的問(wèn)題
為了解決該問(wèn)題,在 Manage Jenkins -> Configure System -> Global properties 全局屬性 頁(yè)面 ,我們可以為jenkins添加一個(gè)全局變量BUILD_ID,值為allow_to_run_as_daemon
如下圖所示,再運(yùn)行配置,就不會(huì)出現(xiàn)應(yīng)用服務(wù)不能訪問(wèn)的問(wèn)題了?
此時(shí)若再次build now,程序可以正常訪問(wèn)。
?6)解決再次build now時(shí),由于jar包正在運(yùn)行,無(wú)法構(gòu)建新包的問(wèn)題
為了解決此問(wèn)題,我們需要在構(gòu)建之前終止應(yīng)用程序,
之前我們啟動(dòng)程序時(shí)設(shè)置了端口8181,現(xiàn)在我們可以通過(guò)端口8181來(lái)找到進(jìn)程,從而關(guān)閉它
其中,輸入的命令為:
FOR /F "tokens=5" %%P IN ('netstat -ano ^| findstr :8181') DO taskkill /F /PID %%P ?|| exit 0
具體含義是:
FOR /F "tokens=5" %%P IN ('netstat -ano ^| findstr :8181') :這個(gè)命令使用了FOR循環(huán)和netstat命令,通過(guò)管道符將netstat的輸出傳遞給findstr命令,找到在本地8181端口上監(jiān)聽(tīng)的進(jìn)程ID。
DO taskkill /F /PID %%P :這個(gè)命令使用了DO關(guān)鍵字,執(zhí)行taskkill命令,并強(qiáng)制結(jié)束找到的進(jìn)程ID。
?|| exit 0:這個(gè)命令是一個(gè)錯(cuò)誤處理語(yǔ)句,如果上一個(gè)命令執(zhí)行失敗,則退出程序,否則返回0表示執(zhí)行成功。
總之,該命令的作用是強(qiáng)制結(jié)束在本地8181端口上監(jiān)聽(tīng)的進(jìn)程。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-494970.html
6)再次build now,驗(yàn)證是否正常
構(gòu)建后程序運(yùn)行正常。再次構(gòu)建,程序還是能正常運(yùn)行,而且是最新的構(gòu)建的jar包奧文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-494970.html
到了這里,關(guān)于一個(gè)springboot項(xiàng)目的jenkins持續(xù)集成配置的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!