必讀
本文為 docker-compose 方式,但自從 Visual Studio 2017 15.8 版本更新以后,通過VS添加的 Docker 支持默認就只有 Dockerfile 了,所以最新版本Docker相關的操作方式請參見這篇文章:https://www.cnblogs.com/stulzq/p/9201830.html
准備
我們需要在容器內使用docker-compose,所以我們需要先進容器安裝docker-compose。
通過命令進入容器:
docker exec -it jenkins /bin/bash
docker-compsoe的安裝請查看官方文檔:https://docs.docker.com/compose/install/#install-compose
1.新建一個ASP.NET Core MVC應用程序:

需要勾選
Docker支持
2.將其上傳到git:

3.建立Jenkins任務
(1)選擇“新建任務”,輸入任務名稱,選擇“自由風格項目”,然后點擊確定:

(2)選擇“源代碼管理”,填入我們的git地址

輸入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
https://www.cnblogs.com/myzony/p/8434121.html
