Jenkins+Docker實(shí)現(xiàn)自動(dòng)化部署
環(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中默認(rèn)只開啟stable倉庫,故這里安裝的是最新穩(wěn)定版17.12.0 yum install <自己想安裝的版本> # 例如:sudo yum install docker-ce-17.12.0.ce
6. 啟動(dòng)并設(shè)置開機(jī)啟動(dòng)
systemctl start docker systemctl enable docker
7. 驗(yàn)證安裝是否成功
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}:端口號(hào)
此處會(huì)有幾分鐘的等待時(shí)間。
2. 初始化 Jenkins
更多詳情見官網(wǎng)教程:https://www.jenkins.io/zh/doc
(1). 解鎖 Jenkins
# 進(jìn)入Jenkins容器 docker exec -it {Jenkins容器名} bash # 例如 docker exec -it jenkins bash # 查看密碼 cat /var/lib/jenkins/secrets/initialAdminPassword # 復(fù)制密碼到輸入框里面
(2).安裝插件
選擇第一項(xiàng):安裝推薦的插件。
(3).創(chuàng)建管理員用戶
填寫你的管理員賬戶信息,請記牢。
三、系統(tǒng)配置
1. 安裝需要插件
進(jìn)入【首頁】–【系統(tǒng)管理】–【插件管理】–【可選插件】。搜索以下需要安裝的插件,點(diǎn)擊安裝即可。
安裝 Maven Integration
安裝 Publish Over SSH(如果不需要遠(yuǎn)程推送,不用安裝)
如果使用 Gitee 碼云,安裝插件Gitee(自帶 Git 不用單獨(dú)安裝)
2. 配置 Maven
進(jìn)入【首頁】–【系統(tǒng)管理】–【全局配置】,拉到頁面最下方 maven–maven 安裝。
四、創(chuàng)建任務(wù)
1. 新建任務(wù)
點(diǎn)擊【新建任務(wù)】,輸入任務(wù)名稱,點(diǎn)擊構(gòu)建一個(gè)自由風(fēng)格的軟件項(xiàng)目。
2. 源碼管理
點(diǎn)擊【源碼管理】–【Git】,輸入倉庫地址,添加憑證,選擇好憑證即可。
3. 構(gòu)建觸發(fā)器
點(diǎn)擊【構(gòu)建觸發(fā)器】–【構(gòu)建】–【增加構(gòu)建步驟】–【調(diào)用頂層 Maven 目標(biāo)】–【「填寫配置」】–【保存】。
此處命令只 install,看是否能生成 jar 包。
clean install -Dmaven.test.skip=true
隨后點(diǎn)擊【保存】按鈕即可。
五、測試
測試是否能正常打包。
1. 構(gòu)建
點(diǎn)擊構(gòu)建按鈕。
2. 查看日志
點(diǎn)擊正在構(gòu)建的任務(wù),或者點(diǎn)擊任務(wù)名稱進(jìn)入詳情頁面,查看控制臺(tái)輸出??词欠衲艹晒Υ虺?jar 包。
該處日志第一次可能下載依賴 jar 包失敗,再次點(diǎn)擊構(gòu)建即可成功。
3. 查看項(xiàng)目位置
cd /var/jenkins_home/workspace
六、運(yùn)行項(xiàng)目
因?yàn)轫?xiàng)目和 Jenkins 在同一臺(tái)服務(wù)器,所以我們用 Shell 腳本運(yùn)行項(xiàng)目,原理既是通過 Dockerfile 打包鏡像,然后 docker 運(yùn)行即可。
1. Dockerfile
在 Spring Boot 項(xiàng)目根目錄新建一個(gè)名為 Dockerfile 的文件,注意沒有后綴名。
其內(nèi)容如下(大致就是使用 JDK 8,把 jar 包添加到 docker 然后運(yùn)行 prd 配置文件。詳細(xì)可以查看其他教程):
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 在當(dāng)前路徑。
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 是為了方便看日志,真實(shí)環(huán)境不要用,因?yàn)闀?huì)一直等待日志,構(gòu)建任務(wù)會(huì)失??;
- 加 “|| true” 是如果命令執(zhí)行失敗也會(huì)繼續(xù)實(shí)行,為了防止第一次沒有該鏡像報(bào)錯(cuò);
- 保存:點(diǎn)擊保存即可;
- 構(gòu)建:查看 Jenkins 控制臺(tái)輸出,輸出如下,證明成功;
3. 驗(yàn)證是否部署成功
docker ps # 查看是否有自己的容器 docker logs # 自己的容器名,查看日志是否正確 # 打開瀏覽器訪問項(xiàng)目
到此這篇關(guān)于Jenkins+Docker實(shí)現(xiàn)自動(dòng)化部署的文章就介紹到這了,更多相關(guān)Jenkins Docker自動(dòng)化部署內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Docker?+?jenkins項(xiàng)目打包鏡像部署詳細(xì)步驟(親測有效)
- Docker安裝Jenkins并部署Maven項(xiàng)目詳細(xì)教程
- Jenkins整合Docker自動(dòng)化部署的實(shí)現(xiàn)
- Jenkins+Docker?一鍵自動(dòng)化部署?SpringBoot?項(xiàng)目的詳細(xì)步驟
- 基于Docker與Jenkins實(shí)現(xiàn)自動(dòng)化部署的原理解析
- Docker搭建Jenkins并自動(dòng)化打包部署項(xiàng)目的步驟
- Docker+Jenkins實(shí)現(xiàn)一鍵自動(dòng)化部署項(xiàng)目的圖文教學(xué)
相關(guān)文章
Docker部署Tomcat并開放8082端口的實(shí)現(xiàn)步驟
本文主要介紹了Docker部署Tomcat并開放8082端口的實(shí)現(xiàn)步驟,首先安裝docker環(huán)境,創(chuàng)建tomcat鏡像,隨后開放端口,具有一定的參考價(jià)值,感興趣的可以了解一下2023-10-10docker安裝minio及實(shí)現(xiàn)文件上傳、刪除、下載方式
這篇文章主要介紹了docker安裝minio及實(shí)現(xiàn)文件上傳、刪除、下載方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03CentOS修改docker鏡像存儲(chǔ)位置并進(jìn)行數(shù)據(jù)遷移的操作方法
本文詳細(xì)介紹了在CentOS上修改Docker鏡像存儲(chǔ)位置并進(jìn)行數(shù)據(jù)遷移的步驟,包括停止Docker服務(wù)、創(chuàng)建新的存儲(chǔ)目錄、復(fù)制現(xiàn)有數(shù)據(jù)、修改Docker配置、重啟Docker服務(wù)、驗(yàn)證配置、清理舊數(shù)據(jù)(可選)以及檢查容器和鏡像,感興趣的朋友一起看看吧2025-01-01