自動(dòng)化部署(一)jenkins+github+maven+docker

本文適用于自動(dòng)化部署Springboot項(xiàng)目,原理是將jenkins和我們的github關(guān)聯(lián),當(dāng)git上的代碼更新時(shí),會(huì)通知到j(luò)enkins服務(wù)器,由jenkins服務(wù)器通過本地更新倉庫自動(dòng)生成jar包并通過Dockerfile腳本部署項(xiàng)目。

準(zhǔn)備環(huán)境

java+maven

需要JDK8和Maven3環(huán)境,詳細(xì)配置見安裝JDK8+Maven3

git+jenkins

服務(wù)器需要git環(huán)境和Jenkins服務(wù),詳細(xì)配置見Git+Jenkins

Jenkins插件安裝

系統(tǒng)管理->插件管理->可選插件
需要安裝以下插件

GitHub plugin
Publish Over SSH
Maven相關(guān)

配置SSH

參照https://www.cnblogs.com/YatHo/p/6739814.html

新建任務(wù)

在Jenkins頁面新建一個(gè)自由風(fēng)格(freestyle)的任務(wù)
ps:本篇的項(xiàng)目用例使用SpringCloud的eureka注冊(cè)中心,項(xiàng)目源碼見git

創(chuàng)建任務(wù)

General

源碼管理

構(gòu)建觸發(fā)器

構(gòu)建

構(gòu)建后操作

Exec command
#將jar包拷貝到自定義路徑下,ps:buildimage.sh,run.sh,用到的Dockerfile都在自定義路徑下,該文件需要自行創(chuàng)建
cp /var/lib/jenkins/workspace/demo_eureka/target/demo_eureka-0.0.1-SNAPSHOT.jar /usr/local/project/eureka    
#進(jìn)入到該路徑
cd /usr/local/project/eureka
#添加執(zhí)行權(quán)限并執(zhí)行腳本
chmod +x buildimage.sh
./buildimage.sh
 chmod +x run.sh
./run.sh
buildimage.sh
#使用Dockerfile創(chuàng)建Docker容器
docker build -t demo_eureka:1.0 .
run.sh
#執(zhí)行該容器并映射端口8761
docker run --name="demo_eureka" -p 8761:8761 -d demo_eureka:1.0
Dockerfile
# 版本信息
#java:latest 為centos官方j(luò)ava運(yùn)行環(huán)境鏡像
FROM java:latest
MAINTAINER cds "ljq"

#復(fù)制文件到容器中的/usr/local/jar/
ADD  demo_eureka-0.0.1-SNAPSHOT.jar /usr/local/jar/

#重命名jar名
RUN mv /usr/local/jar/demo_eureka-0.0.1-SNAPSHOT.jar  /usr/local/jar/app.jar

#開啟內(nèi)部服務(wù)端口項(xiàng)目端口
EXPOSE 8761
#默認(rèn)的容器啟動(dòng)執(zhí)行命令
CMD ["java","-jar","/usr/local/jar/app.jar"]

上傳項(xiàng)目到GitHub


瀏覽器輸入:http://ip:8761

部署成功!

End

參考博客jenkins+maven+docker+github全自動(dòng)化部署SpringBoot實(shí)例

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容