使用碼云搭建Git代碼存儲(chǔ)倉(cāng)庫(kù)
https://gitee.com/login
- 使用碼云創(chuàng)建私有私有g(shù)it倉(cāng)庫(kù)
- 將本地springboot項(xiàng)目上傳到git倉(cāng)庫(kù)中
基于Docker安裝Jenkins環(huán)境
1.使用docker 安裝jenkins
docker run -p 8080:8080 -p 50000:50000 -v jenkins_data:/var/jenkins_home jenkinsci/blueocean
2.訪問(wèn)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)目打包

點(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. 重啟容器
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)文章希望大家以后多多支持腳本之家!