基于Docker+Jenkins實現(xiàn)自動化部署的方法
使用碼云搭建Git代碼存儲倉庫
https://gitee.com/login
- 使用碼云創(chuàng)建私有私有g(shù)it倉庫
- 將本地springboot項目上傳到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

注意:第一次啟動的時候正在加載jenkins大概會等待3-10分鐘。
3.解鎖jenkins


docker exec -it 7f485bd95c3b /bin/bash 進入jenkins容器 cat /var/jenkins_home/secrets/initialAdminPassword

大概需要等待3-10分鐘
創(chuàng)建新的用戶


Jenkins全局工具配置
進入到j(luò)enkins容器中 echo $JAVA_HOME 獲取java環(huán)境安裝地址
JDK環(huán)境安裝

Maven環(huán)境安裝

安裝Jenkins對應(yīng)Maven插件
找到 “系統(tǒng)管理“ - “安裝插件” ,點擊 “可選插件”,找到如下maven插件的版本
插件名稱 Maven Integration


Jenkins實現(xiàn)Springboot項目自動部署新建一個發(fā)布任務(wù)

配置任務(wù)git賬號密碼

3.項目打包

clean install
點擊立即構(gòu)建

第一次構(gòu)建可能耗時比較長,因為需要下載一些相關(guān)依賴jar包
Jenkins啟動成功之后執(zhí)行shll腳本
#!/bin/bash
#服務(wù)名稱
SERVER_NAME=springboot
# 源jar路徑,mvn打包完成之后,target目錄下的jar包名稱,也可選擇成為war包,war包可移動到Tomcat的webapps目錄下運行,這里使用jar包,用java -jar 命令執(zhí)行
JAR_NAME=springboot-0.0.1-SNAPSHOT
# 源jar路徑
#/usr/local/jenkins_home/workspace--->jenkins 工作目錄
#demo 項目目錄
#target 打包生成jar包的目錄
JAR_PATH=/var/jenkins_home/workspace/springboot/target
# 打包完成之后,把jar包移動到運行jar包的目錄--->work_daemon,work_daemon這個目錄需要自己提前創(chuàng)建
JAR_WORK_PATH=/var/jenkins_home/workspace/springboot/target
echo "查詢進程id-->$SERVER_NAME"
PID=`ps -ef | grep "$SERVER_NAME" | awk '{print $2}'`
echo "得到進程ID:$PID"
echo "結(jié)束進程"
for id in $PID
do
kill -9 $id
echo "killed $id"
done
echo "結(jié)束進程完成"
#復(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 指的是后臺運行,或者使用nohub &
容器映射8081端口
1. 重啟容器
systemctl restart docker
2. 清空未運行的容器
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實現(xiàn)自動化部署的文章就介紹到這了,更多相關(guān)Docker+Jenkins實現(xiàn)自動化部署內(nèi)容請搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!
版權(quán)聲明:本站文章來源標注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。
關(guān)注官方微信