jenkins+maven+docker+github全自動化部署SpringBoot實例

實踐性嘗試,這裏只在一臺虛擬機下操做。html

1.vmware 下centos 安裝

設置centos 橋接模式
參考:https://www.cnblogs.com/loven...java

2.centos 軟件安裝

1) docker 安裝git

yum install -y docker

2)JDK 安裝github

參考:https://blog.csdn.net/evan_chen_1/article/details/55097252

3)Maven 安裝docker

參考:https://blog.csdn.net/mynameissls/article/details/54140176

4)Git 安裝centos

yum install git

5)安裝jenkins瀏覽器

參考:https://www.cnblogs.com/woshimrf/p/6103366.html

3.Jenkins 配置

安裝插件app

Locale plugin  設置中文界面    
  設置參考: https://www.cnblogs.com/hanxiaohui/p/8136621.html   
  
  Publish Over SSH  配置SSH登錄centos 
  使用Publish Over SSH插件實現遠程自動部署
  參考: https://www.cnblogs.com/YatHo/p/6739814.html

本例配置以下maven

Locale plugin
clipboard.png測試

Publish Over SSH
clipboard.png

4 建立JOB 名字爲cicd_demo

clipboard.png

5.配置cicd_demo任務

本例演示項目地址爲:https://github.com/chendishen...
1)配置General

clipboard.png
上圖中git項目是個人一個測試項目

2)源碼管理

clipboard.png

3)構建觸發器
Poll SCM:定時檢查源碼變動(根據SCM軟件的版本號),若是有更新就checkout最新code下來,而後執行構建動做。個人配置以下:

勾選 Poll SCM ,日程表填入: `* * * * *` (5個*),忽視警告

clipboard.png
4)構建環境
不設置

clipboard.png

5)構建
maven version 選擇 maven
Goals : clean package

clipboard.png

6)構建後操做
在配置最後找到「增長構建後操做步驟」,選擇"Send build artifacts over SSH"

clipboard.png

配置說明:

1.SSH Server Name 就是前面配置的Publish Over SSH 的名稱
2.Source files 是指源文件位置,這個位置是在jenkins的工做目錄下的job文件在內 ,
(/var/lib/jenkins/workspace/cicd_demo 默認路徑 cicd_demo是個人job名稱,maven 編譯後會在此文件內建立 target 目錄, cicd-demo*.jar是構建後jar包命名前綴+版本號
見pom.xml 中 artifactId )
3.Remove prefix 刪除前綴 target
4.Remote directory 遠程目錄,結合前面Publish Over SSH配置就是 /root/test 目錄,這些配置完畢之後, jenkins 在編譯成功後,就會自動把 文件 copy 到 B主機下的/root/test
5.Exec command , 我這裏的操做是吧 主機 /root/test 的文件 複製到 我本身的 /usr/local/project/cicd_demo下 而後進入到此目錄,執行個人 buildimage.sh 和 run.sh

配置中的目錄和文件須要提早建立

mkdir /usr/local/project/cicd_demo

在/usr/local/project/cicd_demo目錄下

clipboard.png

文件說明

buildimage.sh 用來構建鏡像
Dockerfile 爲構建鏡像所需文件
run.sh 用來啓動容器

buildimage.sh建立

vi /usr/local/project/cicd_demo/buildimage.sh

buildimage.sh 內容:

docker build -t cicd_demo:1.0 .

Dockerfile建立

vi /usr/local/project/cicd_demo/Dockerfile

Dockerfile內容:

# 版本信息
#java:latest 爲centos官方java運行環境鏡像,600多M ,能夠提早pull到主機本地
FROM java:latest 
MAINTAINER cds "352826256@qq.com"

#實際上能夠配置成變量 
ADD cicd-demo-1.0.jar /usr/local/jar/

RUN mv /usr/local/jar/cicd-demo-1.0.jar  /usr/local/jar/app.jar

#開啓內部服務端口 cicd-demo 項目端口
EXPOSE 8090

CMD ["java","-jar","/usr/local/jar/app.jar"]

run.sh 建立

vi /usr/local/project/cicd_demo/run.sh

run.sh 內容 :

docker rm -f cicd_demo
docker run --name="cicd_demo" -p 8090:8090 -d cicd_demo:1.0

6.cicd_demo任務運行

控制檯輸出以下
圖片描述

至此自動構建任務完成

7.結果驗證

在物理機瀏覽器輸入 http://192.168.1.104:8090/index

clipboard.png

相關文章
相關標籤/搜索