Jenkins+Docker實現(xiàn)自動化部署
環(huán)境:CentOS7 + Git (Gitee)
一、安裝 Docker
安裝社區(qū)版本 Docker CE
1. 確保 yum 包更新到最新
yum update
2. 卸載舊版本(如果安裝過舊版本的話)
yum remove docker docker-common docker-selinux docker-engine
3. 安裝需要的軟件包
yum install -y yum-utils device-mapper-persistent-data lvm2
4. 設(shè)置 yum 源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
5. 安裝 Docker
yum install docker-ce #由于repo中默認只開啟stable倉庫,故這里安裝的是最新穩(wěn)定版17.12.0 yum install <自己想安裝的版本> # 例如:sudo yum install docker-ce-17.12.0.ce
6. 啟動并設(shè)置開機啟動
systemctl start docker systemctl enable docker
7. 驗證安裝是否成功
docker version
二、安裝 Jenkins
Jenkins 中文官網(wǎng):https://www.jenkins.io/zh/
1. 安裝 Jenkins
注意檢查 8080 是否已經(jīng)占用,如果占用請修改端口。
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所在服務(wù)IP}:端口號
此處會有幾分鐘的等待時間。
2. 初始化 Jenkins
更多詳情見官網(wǎng)教程:https://www.jenkins.io/zh/doc
(1). 解鎖 Jenkins
# 進入Jenkins容器
docker exec -it {Jenkins容器名} bash
# 例如 docker exec -it jenkins bash
# 查看密碼
cat /var/lib/jenkins/secrets/initialAdminPassword
# 復制密碼到輸入框里面

(2).安裝插件
選擇第一項:安裝推薦的插件。

(3).創(chuàng)建管理員用戶
填寫你的管理員賬戶信息,請記牢。
三、系統(tǒng)配置
1. 安裝需要插件
進入【首頁】–【系統(tǒng)管理】–【插件管理】–【可選插件】。搜索以下需要安裝的插件,點擊安裝即可。

安裝 Maven Integration
安裝 Publish Over SSH(如果不需要遠程推送,不用安裝)
如果使用 Gitee 碼云,安裝插件Gitee(自帶 Git 不用單獨安裝)
2. 配置 Maven
進入【首頁】–【系統(tǒng)管理】–【全局配置】,拉到頁面最下方 maven–maven 安裝。

四、創(chuàng)建任務(wù)
1. 新建任務(wù)
點擊【新建任務(wù)】,輸入任務(wù)名稱,點擊構(gòu)建一個自由風格的軟件項目。

2. 源碼管理
點擊【源碼管理】–【Git】,輸入倉庫地址,添加憑證,選擇好憑證即可。


3. 構(gòu)建觸發(fā)器
點擊【構(gòu)建觸發(fā)器】–【構(gòu)建】–【增加構(gòu)建步驟】–【調(diào)用頂層 Maven 目標】–【「填寫配置」】–【保存】。

此處命令只 install,看是否能生成 jar 包。
clean install -Dmaven.test.skip=true

隨后點擊【保存】按鈕即可。
五、測試
測試是否能正常打包。
1. 構(gòu)建
點擊構(gòu)建按鈕。

2. 查看日志
點擊正在構(gòu)建的任務(wù),或者點擊任務(wù)名稱進入詳情頁面,查看控制臺輸出??词欠衲艹晒Υ虺?jar 包。
該處日志第一次可能下載依賴 jar 包失敗,再次點擊構(gòu)建即可成功。


3. 查看項目位置
cd /var/jenkins_home/workspace
六、運行項目
因為項目和 Jenkins 在同一臺服務(wù)器,所以我們用 Shell 腳本運行項目,原理既是通過 Dockerfile 打包鏡像,然后 docker 運行即可。
1. Dockerfile
在 Spring Boot 項目根目錄新建一個名為 Dockerfile 的文件,注意沒有后綴名。
其內(nèi)容如下(大致就是使用 JDK 8,把 jar 包添加到 docker 然后運行 prd 配置文件。詳細可以查看其他教程):
FROM jdk:8 VOLUME /tmp ADD target/zx-order-0.0.1-SNAPSHOT.jar app.jar EXPOSE 8888ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar","--spring.profiles.active=prd"]
2. 修改 Jenkins 任務(wù)配置

配置如下:

“-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 是為了方便看日志,真實環(huán)境不要用,因為會一直等待日志,構(gòu)建任務(wù)會失??;
- 加 “|| true” 是如果命令執(zhí)行失敗也會繼續(xù)實行,為了防止第一次沒有該鏡像報錯;
- 保存:點擊保存即可;
- 構(gòu)建:查看 Jenkins 控制臺輸出,輸出如下,證明成功;
3. 驗證是否部署成功
docker ps # 查看是否有自己的容器 docker logs # 自己的容器名,查看日志是否正確 # 打開瀏覽器訪問項目
到此這篇關(guān)于Jenkins+Docker實現(xiàn)自動化部署的文章就介紹到這了,更多相關(guān)Jenkins Docker自動化部署內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
docker安裝nginx實現(xiàn)對springboot項目的負載均衡的操作方法
這篇文章主要介紹了docker安裝nginx實現(xiàn)對springboot項目的負載均衡的操作方法,本文給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧2024-06-06
Docker build創(chuàng)建鏡像命令示例實踐
本文講解Dockerfile的核心概念、基礎(chǔ)指令、構(gòu)建流程及優(yōu)化技巧,涵蓋鏡像層結(jié)構(gòu)、構(gòu)建上下文、常用命令參數(shù),強調(diào)多階段構(gòu)建、輕量鏡像等最佳實踐,感興趣的朋友跟隨小編一起看看吧2025-08-08
Docker自定義JDK鏡像并拉取至阿里云鏡像倉庫超詳細攻略
Docker倉庫是集中存放鏡像的地方,分為公共倉庫和私有倉庫,這篇文章主要給大家介紹了關(guān)于Docker自定義JDK鏡像并拉取至阿里云鏡像倉庫的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2024-08-08
Docker部署nginx并修改配置文件的實現(xiàn)方法
這篇文章主要介紹了Docker部署nginx并修改配置文件的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-09-09
解決docker啟動失敗Failed?to?start?containerd?container?runtim
這篇文章主要介紹了解決docker啟動失敗Failed?to?start?containerd?container?runtime問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-05-05

