基于Docker+Jenkins實(shí)現(xiàn)自動(dòng)化部署的方法
使用碼云搭建Git代碼存儲(chǔ)倉庫
https://gitee.com/login
- 使用碼云創(chuàng)建私有私有g(shù)it倉庫
- 將本地springboot項(xiàng)目上傳到git倉庫中
基于Docker安裝Jenkins環(huán)境
1.使用docker 安裝jenkins
docker run -p 8080:8080 -p 50000:50000 -v jenkins_data:/var/jenkins_home jenkinsci/blueocean
2.訪問jenkins地址 8080
注意:第一次啟動(dòng)的時(shí)候正在加載jenkins大概會(huì)等待3-10分鐘。
3.解鎖jenkins
docker exec -it 7f485bd95c3b /bin/bash 進(jìn)入jenkins容器 cat /var/jenkins_home/secrets/initialAdminPassword
大概需要等待3-10分鐘
創(chuàng)建新的用戶
Jenkins全局工具配置
進(jìn)入到j(luò)enkins容器中 echo $JAVA_HOME 獲取java環(huán)境安裝地址
JDK環(huán)境安裝
Maven環(huán)境安裝
安裝Jenkins對(duì)應(yīng)Maven插件
找到 “系統(tǒng)管理“ - “安裝插件” ,點(diǎn)擊 “可選插件”,找到如下maven插件的版本
插件名稱 Maven Integration
Jenkins實(shí)現(xiàn)Springboot項(xiàng)目自動(dòng)部署新建一個(gè)發(fā)布任務(wù)
配置任務(wù)git賬號(hào)密碼
3.項(xiàng)目打包
clean install
點(diǎn)擊立即構(gòu)建
第一次構(gòu)建可能耗時(shí)比較長(zhǎng),因?yàn)樾枰螺d一些相關(guān)依賴jar包
Jenkins啟動(dòng)成功之后執(zhí)行shll腳本
#!/bin/bash #服務(wù)名稱 SERVER_NAME=springboot # 源jar路徑,mvn打包完成之后,target目錄下的jar包名稱,也可選擇成為war包,war包可移動(dòng)到Tomcat的webapps目錄下運(yùn)行,這里使用jar包,用java -jar 命令執(zhí)行 JAR_NAME=springboot-0.0.1-SNAPSHOT # 源jar路徑 #/usr/local/jenkins_home/workspace--->jenkins 工作目錄 #demo 項(xiàng)目目錄 #target 打包生成jar包的目錄 JAR_PATH=/var/jenkins_home/workspace/springboot/target # 打包完成之后,把jar包移動(dòng)到運(yùn)行jar包的目錄--->work_daemon,work_daemon這個(gè)目錄需要自己提前創(chuàng)建 JAR_WORK_PATH=/var/jenkins_home/workspace/springboot/target echo "查詢進(jìn)程id-->$SERVER_NAME" PID=`ps -ef | grep "$SERVER_NAME" | awk '{print $2}'` echo "得到進(jìn)程ID:$PID" echo "結(jié)束進(jìn)程" for id in $PID do kill -9 $id echo "killed $id" done echo "結(jié)束進(jìn)程完成" #復(fù)制jar包到執(zhí)行目錄 echo "復(fù)制jar包到執(zhí)行目錄:cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH" cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH echo "復(fù)制jar包完成" cd $JAR_WORK_PATH #修改文件權(quán)限 chmod 755 $JAR_NAME.jar Nohub java -jar $JAR_NAME.jar
加nohub 指的是后臺(tái)運(yùn)行,或者使用nohub &
容器映射8081端口
1. 重啟容器
systemctl restart docker
2. 清空未運(yùn)行的容器
docker rm $(sudo docker ps -a -q)
docker run -p 8080:8080 -p 8081:8081 -p 50000:50000 -v jenkins_data:/var/jenkins_home jenkinsci/blueocean
到此這篇關(guān)于基于Docker+Jenkins實(shí)現(xiàn)自動(dòng)化部署的文章就介紹到這了,更多相關(guān)Docker+Jenkins實(shí)現(xiàn)自動(dòng)化部署內(nèi)容請(qǐng)搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。