本文章實作最簡單全面的Jenkins+docker+springboot 一鍵自動部署專案,步驟齊全,少走坑路,
環境:centos7+git(gitee)
簡述實作步驟:在docker安裝jenkins,配置jenkins基本資訊,利用Dockerfile和shell腳本實作專案自動拉取打包并運行,
推薦一個開源免費的 Spring Boot 實戰專案:
https://github.com/javastacks/spring-boot-best-practice
安裝docker
docker 安裝社區版本CE
確保 yum 包更新到最新,
yum update
卸載舊版本(如果安裝過舊版本的話)
yum remove docker docker-common docker-selinux docker-engine
安裝需要的軟體包
yum install -y yum-utils device-mapper-persistent-data lvm2
設定yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
安裝docker
yum install docker-ce #由于repo中默認只開啟stable倉庫,故這里安裝的是最新穩定版17.12.0
yum install <自己的版本> # 例如:sudo yum install docker-ce-17.12.0.ce
啟動和開機啟動
systemctl start docker
systemctl enable docker
驗證安裝是否成功
docker version
安裝Jenkins
Jenkins中文官網:https://www.jenkins.io/zh/
安裝Jenkins
docker 安裝一切都是那么簡單,注意檢查8080是否已經占用!如果占用修改埠
docker run --name jenkins -u root --rm -d -p 8080:8080 -p 50000:50000 -v /var/jenkins_home:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock jenkinsci/blueocean
如果沒改埠號的話
安裝完成后訪問地址-> http://{部署Jenkins所在服務IP}:8080
此處會有幾分鐘的等待時間,
初始化 Jenkins
詳情見官網教程->https://www.jenkins.io
解鎖 Jenkins
進入Jenkins容器:docker exec -it {Jenkins容器名} bash
例如 docker exec -it jenkins bash
查看密碼:cat /var/lib/jenkins/secrets/initialAdminPassword
復制密碼到輸入框里面
安裝插件
選擇第一個:安裝推薦的插件
創建管理員用戶
此賬戶一定要記住哦
系統配置
安裝需要插件
進入【首頁
】–【系統管理
】–【插件管理
】–【可選插件
】
搜索以下需要安裝的插件,點擊安裝即可,
- 安裝Maven Integration
- 安裝Publish Over SSH(如果不需要遠程推送,不用安裝)
- 如果使用Gitee 碼云,安裝插件Gitee(Git自帶不用安裝)
配置Maven
進入【首頁
】–【系統管理
】–【全域配置
】,拉到最下面maven–maven安裝
創建任務
新建任務
點擊【新建任務
】,輸入任務名稱,點擊構建一個自由風格的軟體專案
原始碼管理
點擊【原始碼管理
】–【Git
】,輸入倉庫地址,添加憑證,選擇好憑證即可,
構建觸發器
點擊【構建觸發器
】–【構建
】–【增加構建步驟
】–【呼叫頂層Maven目標
】–【填寫配置
】–【保存
】
此處命令只是install,看是否能生成jar包
clean install -Dmaven.test.skip=true
保存
點擊【保存
】按鈕即可
測驗
該功能測驗是否能正常打包
構建
點擊構建按鈕
查看日志
點擊正在構建的任務,或者點擊任務名稱,進入詳情頁面,查看控制臺輸出,看是否能成功打成jar包,
該處日志第一次可能下載依賴jar包失敗,再次點擊構建即可成功,
查看專案位置
cd /var/jenkins_home/workspace
ll
命令即可查看是否存在
運行專案
因為我們專案和jenkins在同一臺服務器,所以我們用shell腳本運行專案,原理既是通過dockerfile 打包鏡像,然后docker運行即可,
Dockerfile
在springboot專案根目錄新建一個名為Dockerfile的檔案,注意沒有后綴名,其內容如下:(大致就是使用jdk8,把jar包添加到docker然后運行prd組態檔)
FROM jdk:8
VOLUME /tmp
ADD target/zx-order-0.0.1-SNAPSHOT.jar app.jar
EXPOSE 8888
ENTRYPOINT ["Bash","-DBash.security.egd=file:/dev/./urandom","-jar","/app.jar","--spring.profiles.active=prd"]
修改jenkins任務配置
配置如下:
-t:指定新鏡像名
.:表示Dockfile在當前路徑
cd /var/jenkins_home/workspace/zx-order-api
docker stop zx-order || true
docker rm zx-order || true
docker rmi zx-order || true
docker build -t zx-order .
docker run -d -p 8888:8888 --name zx-order zx-order:latest
備注:
- 我上圖用了docker logs -f 是為了方便看日志,真實不要用,因為會一直等待日志,構建任務會失敗
- 加|| true 是如果命令執行失敗也會繼續實行,為了防止第一次沒有該鏡像報錯
保存
點擊保存即可
構建
查看jenkins控制臺輸出,輸出如下,證明成功!
驗證
docker ps 查看是否有自己的容器
docker logs 自己的容器名 查看日志是否正確
瀏覽器訪問專案試一試
著作權宣告:本文為CSDN博主「這把躺贏」的原創文章,遵循CC 4.0 BY-SA著作權協議,轉載請附上原文出處鏈接及本宣告,原文鏈接:https://blog.csdn.net/zqqiang0307/article/details/120458586
近期熱文推薦:
1.1,000+ 道 Java面試題及答案整理(2022最新版)
2.勁爆!Java 協程要來了,,,
3.Spring Boot 2.x 教程,太全了!
4.別再寫滿屏的爆爆爆炸類了,試試裝飾器模式,這才是優雅的方式!!
5.《Java開發手冊(嵩山版)》最新發布,速速下載!
覺得不錯,別忘了隨手點贊+轉發哦!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/554936.html
標籤:Java
上一篇:翻車了,被讀者找出 BUG
下一篇:返回列表