😄 19年之后由于某些原因斷更了三年,23年重新揚帆起航,推出更多優質博文,希望大家多多支持~
🌷 古之立大事者,不惟有超世之才,亦必有堅忍不拔之志
🎐 個人CSND主頁——Micro麥可樂的博客
🐥《Docker實操教程》專欄以最新的Centos版本為基礎進行Docker實操教程,入門到實戰
🌺《RabbitMQ》本專欄主要介紹使用JAVA開發RabbitMQ的系列教程,從基礎知識到項目實戰
🌸《設計模式》專欄以實際的生活場景為案例進行講解,讓大家對設計模式有一個更清晰的理解
💕《Jenkins實戰》專欄主要介紹Jenkins+Docker+Git+Maven的實戰教程,讓你快速掌握項目CI/CD,是2024年最新的實戰教程
如果文章能夠給大家帶來一定的幫助!歡迎關注、評論互動~
Jenkins + Docker + Git + Maven 實戰教程(四) - 編寫自己的Springboot項目實現自動化部署
- 前言
- 構建前準備
- 開始配置Jenkins
- 構建測試
- 結語
前言
上一章節中雖然我們實現了自動化的部署,但是官方的DEMO中并沒有Dockerfile文件,我們還是需要手動構建,本章節我們自己編寫一個簡單的SpringBoot
項目實現自動化部署,從代碼編寫到上傳Gitee
再到Jenkins
自動化部署。
整體流程如下:
構建前準備
在開始Jenkins
自動化部署前,我們需要執行如下操作
1、注冊Gitee賬號
2、創建Git倉庫
3、IDEA安裝Gitee插件
4、Gitee插件配置賬戶信息
5、IDEA創建SpringBoot項目
6、SpringBoot項目編寫Dockerfile文件
7、get push項目到Gitee
注冊Gitee賬號以及創建倉庫這里我們就忽略了
博主以Mac為例,找到 IntelliJ IDEA
- Preferences
- Plugins
搜索gitee安裝插件
Gitee插件配置賬戶信息,可以選擇授權登陸以及賬號密碼登陸等,大家根據情況自行選擇
創建一個簡單的SpringBoot項目
項目根目錄創建Dockerfile文件
FROM openjdk:11
# 設置工作目錄
WORKDIR /app
# 將宿主機的目錄掛載到容器的/app目錄
VOLUME /app
# 復制.jar文件到工作目錄
COPY jenkins-demo-project-0.0.1-SNAPSHOT.jar /app/jenkins-demo.jar
# 設置容器啟動時執行的命令
CMD ["java", "-jar", "jenkins-demo.jar" ,"--server.port=9090"]
調整pom.xml設置maven將Dockerfile一并打包到target目錄下
最后通過IDEA提交代碼到Gitee倉庫
由于博主的倉庫是公開的,小伙伴們也可以直接使用博主的demo 【倉庫地址】
開始配置Jenkins
找到左側菜單 - 新建任務 - jenkins-demo
創建完成后,點擊對應任務進入
在左側找到配置
配置Git Repository URL
找到 Post Steps
選項,,選擇僅構建成功執行
設置我們的sell
命令,需要判斷對應容器是否存在,存在則需要停止并刪除
# 默認操作在Jenkins工作目錄下的項目名目錄 即 workspace/jenkins-demo/target
cd target
#構建鏡像
docker build -t jenkins-demo .
# 使用docker ps和grep來檢查容器是否存在
if docker ps -a | grep "my-jenkins-demo" > /dev/null; thenecho "容器存在"#容器存在則停止并刪除容器docker stop my-jenkins-demodocker rm my-jenkins-demo
elseecho "容器不存在"
fi
#運行容器
docker run -d -p 9090:9090 --name my-jenkins-demo jenkins-demo
注意
上一章節我們已經處理了將宿主機的Docker引擎掛載到Jenkins容器上,即Jenkins容器調用宿主機的Docker
如果你沒有看過上一章教程 可以點擊 查看上一章內容
構建測試
配置完成,點擊左側立即構建,在下方的構建歷史點擊對應構建編號進入查看控制臺輸出
輸出如下
測試訪問
結語
本章節從創建SprongBoot項目 -> 上傳gitee -> Jenkins自動化部署進行演示,小伙伴們可以跟著博主的教程操作自己走一遍,過程中如果出現其它問題,歡迎留言大家一起交流!
下一章節:2024最新 Jenkins + Docker 實戰教程(五) - 配置Webhooks實現自動構建及運行項目