本文適用於自動化部署Springboot項目,原理是將jenkins和我們的github關聯,當git上的代碼更新時,會通知到jenkins服務器,由jenkins服務器通過本地更新倉庫自動生成jar包並通過Dockerfile腳本部署項目。
准備環境
java+maven
需要JDK8和Maven3環境,詳細配置見安裝JDK8+Maven3
git+jenkins
服務器需要git環境和Jenkins服務,詳細配置見Git+Jenkins
Jenkins插件安裝
系統管理->插件管理->可選插件
需要安裝以下插件
GitHub plugin

Publish Over SSH

Maven相關

配置SSH
參照https://www.cnblogs.com/YatHo/p/6739814.html
新建任務
在Jenkins頁面新建一個自由風格(freestyle)的任務
ps:本篇的項目用例使用SpringCloud的eureka注冊中心,項目源碼見git
創建任務

General

源碼管理


構建觸發器

構建

構建后操作

Exec command
#將jar包拷貝到自定義路徑下,ps:buildimage.sh,run.sh,用到的Dockerfile都在自定義路徑下,該文件需要自行創建
cp /var/lib/jenkins/workspace/demo_eureka/target/demo_eureka-0.0.1-SNAPSHOT.jar /usr/local/project/eureka
#進入到該路徑
cd /usr/local/project/eureka
#添加執行權限並執行腳本
chmod +x buildimage.sh
./buildimage.sh
chmod +x run.sh
./run.sh
buildimage.sh
#使用Dockerfile創建Docker容器
docker build -t demo_eureka:1.0 .
run.sh
#執行該容器並映射端口8761
docker run --name="demo_eureka" -p 8761:8761 -d demo_eureka:1.0
Dockerfile
# 版本信息
#java:latest 為centos官方java運行環境鏡像
FROM java:latest
MAINTAINER cds "ljq"
#復制文件到容器中的/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
#開啟內部服務端口項目端口
EXPOSE 8761
#默認的容器啟動執行命令
CMD ["java","-jar","/usr/local/jar/app.jar"]
上傳項目到GitHub

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

部署成功!
End
作者:LiJinQuanan
鏈接:https://www.jianshu.com/p/68c735e29f1b
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。