自動化部署(一)jenkins+github+maven+docker(通過Dockerfile腳本部署項目)


本文適用於自動化部署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

參考博客jenkins+maven+docker+github全自動化部署SpringBoot實例



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


免責聲明!

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



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