Docker+Jenkins+Git+Maven實現Springboot項目自動化部署


一、項目整合Docker

1.新建Dockerfile

img

填入內容

FROM java:8-jre
VOLUME /tmp
ADD *.jar app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

上傳到github/碼雲

二、Jenkins插件安裝

1.更換下載鏡像源

Jenkins所有鏡像列表

image-20200522175212023

image-20200522175223946

填入鏡像源地址

https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

3.下載插件

Maven Integration plugin

Deploy to container Plugin

docker-build-step

Publish Over SSH

image-20200522175820059

 

三、系統與工具配置

1.配置服務器主機連接

image-20200522181425187

 

填寫密碼、ip地址、用戶名以及遠程連接目錄

image-20200523201916731

 

2.工具環境配置

image-20200522181620194

配置maven、JDK、Git

image-20200522181715192

image-20200522181756783

 

  備注:路徑根據個人情況修改,要確保正確,可以到Jenkins的容器中查看

四、新建任務

1.新建Maven項目

image-20200522180036693

2.配置源碼管理

將github/碼雲上的項目地址填入

image-20200522180833385

若是需要認證,則添加憑據即可

3.配置構建命令

image-20200522180933672

4.配置構建后發布

 

 

 

填寫執行命令

#!/bin/sh
#docker 鏡像/容器名字或者jar名字 這里都命名為這個
SERVER_NAME=logistics
#容器id
CID=$(docker ps | grep "$SERVER_NAME" | awk '{print $1}')
#鏡像id
IID=$(docker images | grep "$SERVER_NAME" | awk '{print $3}')
#當前日期
DATE=`date +%Y%m%d`

#清除舊容器
if [ -n "$CID" ]; then
echo "存在$SERVER_NAME容器,CID=$CID"
echo "停止舊容器"
docker stop $SERVER_NAME
echo "刪除舊容器"
docker rm $SERVER_NAME
fi

# 清楚舊鏡像
if [ -n "$IID" ]; then
echo "存在$SERVER_NAME鏡像,IID=$IID"
echo "刪除鏡像"
docker rmi $IID
fi

#構建鏡像
echo "開始構建鏡像"
docker build -f ./src/main/docker/Dockerfile -t $SERVER_NAME:v${DATE} ./target
echo "構建鏡像成功!"


# 運行docker容器
echo "創建並啟動$SERVER_NAME容器..."
docker run --name $SERVER_NAME -d -p 8071:8071 $SERVER_NAME:v${DATE}
echo "$SERVER_NAME容器啟動完成"

備注:路徑要根據個人情況填寫

保存返回到主頁面

 

五、使用

image-20200522194049023

image-20200522194120490

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM