上文我們講述了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 日誌界面