Jenkins+Docker 實(shí)現(xiàn)一鍵自動(dòng)化部署項(xiàng)目!步驟齊全,少走坑路
閱讀本文大概需要 3.5 分鐘。
來(lái)自:https://blog.csdn.net/zqqiang0307/article/details/120458586
本文章實(shí)現(xiàn)最簡(jiǎn)單全面的Jenkins+docker+springboot 一鍵自動(dòng)部署項(xiàng)目,步驟齊全,少走坑路。
安裝docker
確保 yum 包更新到最新。
yum update
卸載舊版本(如果安裝過(guò)舊版本的話)
yum remove docker docker-common docker-selinux docker-engine
安裝需要的軟件包
yum install -y yum-utils device-mapper-persistent-data lvm2
設(shè)置yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
安裝docker
yum install docker-ce #由于repo中默認(rèn)只開啟stable倉(cāng)庫(kù),故這里安裝的是最新穩(wěn)定版17.12.0
yum install <自己的版本> # 例如:sudo yum install docker-ce-17.12.0.ce
啟動(dòng)和開機(jī)啟動(dòng)
systemctl start docker
systemctl enable docker
驗(yàn)證安裝是否成功
docker version
安裝Jenkins
安裝J enkins
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}:8080初始化 Jenkins
https://www.jenkins.io解鎖 Jenkins
docker exec -it {Jenkins容器名} bashdocker exec -it jenkins bashcat /var/lib/jenkins/secrets/initialAdminPassword
安裝插件

創(chuàng)建管理員用戶
系統(tǒng)配置
安裝需要插件
首頁(yè)】–【系統(tǒng)管理】–【插件管理】–【可選插件】
安裝Maven Integration 安裝Publish Over SSH(如果不需要遠(yuǎn)程推送,不用安裝) 如果使用Gitee 碼云,安裝插件Gitee(Git自帶不用安裝)
配置Maven
首頁(yè)】–【系統(tǒng)管理】–【全局配置】,拉到最下面maven–maven安裝
創(chuàng)建任務(wù)
新建任務(wù)
新建任務(wù)】,輸入任務(wù)名稱,點(diǎn)擊構(gòu)建一個(gè)自由風(fēng)格的軟件項(xiàng)目
源碼管理
源碼管理】–【Git】,輸入倉(cāng)庫(kù)地址,添加憑證,選擇好憑證即可。

構(gòu)建觸發(fā)器
構(gòu)建觸發(fā)器】–【構(gòu)建】–【增加構(gòu)建步驟】–【調(diào)用頂層Maven目標(biāo)】–【填寫配置】–【保存】
clean install -Dmaven.test.skip=true

保存
保存】按鈕即可測(cè)試
構(gòu)建

查看日志


查看項(xiàng)目位置
cd /var/jenkins_home/workspace
ll命令即可查看是否存在運(yùn)行項(xiàng)目
Dockerfile
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任務(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í)不要用,因?yàn)闀?huì)一直等待日志,構(gòu)建任務(wù)會(huì)失敗 加|| true 是如果命令執(zhí)行失敗也會(huì)繼續(xù)實(shí)行,為了防止第一次沒有該鏡像報(bào)錯(cuò)
保存
構(gòu)建

驗(yàn)證
docker ps 查看是否有自己的容器
docker logs 自己的容器名 查看日志是否正確
推薦閱讀:
互聯(lián)網(wǎng)初中高級(jí)大廠面試題(9個(gè)G) 內(nèi)容包含Java基礎(chǔ)、JavaWeb、MySQL性能優(yōu)化、JVM、鎖、百萬(wàn)并發(fā)、消息隊(duì)列、高性能緩存、反射、Spring全家桶原理、微服務(wù)、Zookeeper......等技術(shù)棧!
?戳閱讀原文領(lǐng)??! 朕已閱
評(píng)論
圖片
表情


