Docker持續集成(八)jenkins之自動化打包、部署

 上文我們講述了jenkins插件安裝及配置 Docker持續集成(七)jenkins之插件安裝及配置

  本文我們講解自動化打包、部署

 一、創建任務

二、源碼管理,選擇Git

三、Build

注意點:

1) 我配置的git路徑下面是多個項目,這裏配置的jack-discovery-eureka工程,所以Root Pom配置的是"jack-discovery-eureka/pom.xml",如果你直接配置的是工程的git地址,則Root Pom這裏直接填寫"pom.xml"即可

2) 下面命令不要在最前面加"mvn",否則會報錯。docker:build 表示的是創建鏡像

 

四、Post Steps

4.1  點擊Add post-build step, 選擇執行 Execute shell

4.2  輸入shell命令,這裏可以直接填寫命令,也可以執行 shell 腳本,我這裏添加了2個shell串口。

說明:

第一個是推送鏡像到私有倉庫

第二個是執行一個啓動腳本、腳本內容如下:

# 判斷是否拉取鏡像
docker images 192.168.1.8:5000/demo:0.0.1-SNAPSHOT &> /dev/null
if [ $? -ne 0 ] 
then
    docker pull 192.168.1.8:5000/demo:0.0.1-SNAPSHOT
else
    echo "images is exists !!"
fi


# 判斷是否啓動該容器
docker ps | grep demo-test
if [ $? -ne 0 ] 
then
 echo "啓動進程"
 docker run -d -p 8080:8080 --name=demo-test --privileged --restart=always 192.168.1.8:5000/demo:0.0.1-SNAPSHOT
else
 echo "重啓進程"
fi

總結:

1) 我在jenkins執行shell命令"docker ps | grep demo-test"會發生錯誤,所以我用的一個腳本命令來執行;

2) shell命令if else $? -ne 命令 學習瞭解,見博文:centos7 常用shell 命令整理

3) 這裏啓動單個工程可以這樣玩、如果啓動的工程有依賴工程怎麼處理?可以一個一個的去啓動,但是效率是否不太高?是否有更好的方式?

五、啓動任務

5.1 主界面啓動任務

5.2 查看日誌

5.3 日誌界面

六、私有倉庫查看鏡像

七、查看鏡像和容器,檢查是否啓動成功

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章