本文爲 docker-compose 方式,但自從 Visual Studio 2017 15.8 版本更新之後,經過VS添加的 Docker 支持默認就只有 Dockerfile 了,因此最新版本Docker相關的操做方式請參見這篇文章:http://www.javashuo.com/article/p-svmtdjrp-na.htmlhtml
咱們須要在容器內使用docker-compose,因此咱們須要先進容器安裝docker-compose。git
經過命令進入容器:web
docker exec -it jenkins /bin/bash
docker-compsoe的安裝請查看官方文檔:https://docs.docker.com/compose/install/#install-composedocker
1.新建一個ASP.NET Core MVC應用程序:shell
須要勾選
Docker
支持bash
2.將其上傳到git:app
3.創建Jenkins任務webapp
(1)選擇「新建任務」,輸入任務名稱,選擇「自由風格項目」,而後點擊肯定:ide
(2)選擇「源代碼管理」,填入咱們的git地址ui
輸入H/2 * * * *
設置兩分鐘拉取一次
(3)構建環境
勾上 Delete workspace before build start
是設置構建前刪除工做區
勾上 Abort the build if it's stuck
是設定構建的超時時間,若是構建使用的時間超過設定的時間,那麼就認爲此次的構建是失敗的。筆者這裏超時設置的是10分鐘
(4)增長一個Execute Shell 腳本,並填寫如下腳本內容
#!/bin/bash # 獲取短版本號 GITHASH=`git rev-parse --short HEAD` echo ---------------Remove-Orphans------------------ docker-compose -f ./docker-compose.yml -f ./docker-compose.override.yml -p webapplication6 down --rmi local --remove-orphans echo ------------------Config----------------------- docker-compose -f ./docker-compose.ci.build.yml -p webapplication6 config echo ------------------Build------------------------ docker-compose -f ./docker-compose.ci.build.yml -p webapplication6 up --build echo ---------------Publishing...------------------ docker-compose -f "./docker-compose.yml" -f "./docker-compose.override.yml" -p webapplication6 up -d --build echo ---------------Clear-Images...------------------ clearImagesList=$(docker images -f "dangling=true" -q) if [ ! -n "$clearImagesList" ]; then echo "No need to clean up images." else docker rmi $(docker images -f "dangling=true" -q) echo "clear success." fi echo ---------------Clear-Containers...------------------ docker rm webapplication6_ci-build_1
2018.4.24 加入鏡像和容器清理命令,因此上面的腳本和下圖不同,以上面的shell腳本爲準
應用保存,回到項目界面上。點擊當即構建進行部署工做
咱們能夠查看控制檯輸出:
待構建成功之後訪問url(你的ip:端口)試試效果。
不知道端口的能夠經過命令
docker ps
查看
參考文章:
http://www.cnblogs.com/LongJiangXie/p/7517909.html
http://www.javashuo.com/article/p-rfwwusxd-na.html