基于Docker+Jenkins實現(xiàn)自動化部署的方法
使用碼云搭建Git代碼存儲倉庫
- 使用碼云創(chuàng)建私有私有git倉庫
- 將本地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全局工具配置
進入到jenkins容器中 echo $JAVA_HOME 獲取java環(huán)境安裝地址
JDK環(huán)境安裝

Maven環(huán)境安裝

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


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

配置任務git賬號密碼

3.項目打包

clean install
點擊立即構建

第一次構建可能耗時比較長,因為需要下載一些相關依賴jar包
Jenkins啟動成功之后執(zhí)行shll腳本
#!/bin/bash
#服務名稱
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 "結束進程"
for id in $PID
do
kill -9 $id
echo "killed $id"
done
echo "結束進程完成"
#復制jar包到執(zhí)行目錄
echo "復制jar包到執(zhí)行目錄:cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH"
cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH
echo "復制jar包完成"
cd $JAR_WORK_PATH
#修改文件權限
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
到此這篇關于基于Docker+Jenkins實現(xiàn)自動化部署的文章就介紹到這了,更多相關Docker+Jenkins實現(xiàn)自動化部署內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
從零搭建docker+jenkins+node.js自動化部署環(huán)境的方法
這篇文章主要介紹了從零搭建docker+jenkins+node.js自動化部署環(huán)境的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-01-01
Docker學習筆記之Weave實現(xiàn)跨主機容器互聯(lián)
這篇文章主要介紹了Docker學習筆記之Weave實現(xiàn)跨主機容器互聯(lián),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-04-04
docker進階教程之dockerfile優(yōu)化鏡像大小
同樣功能的鏡像,但是不同的Dockerfile build出來的鏡像大小是不一樣的,下面這篇文章主要給大家介紹了關于docker進階教程之dockerfile優(yōu)化鏡像大小的相關資料,需要的朋友可以參考下2022-10-10

