前言
在前后端分離開發(fā)的項目當(dāng)中為了避免重復(fù)構(gòu)建發(fā)布,我們需要部署一個持續(xù)發(fā)布環(huán)境,而目前的開發(fā)環(huán)境服務(wù)器都是基于 CentOS 的,因此每次在本地發(fā)布之后還需要打包,上傳,部署,十分繁瑣。故這里采用了比較成熟的Jenkins 作為持續(xù)部署環(huán)境。
方法如下:
1.新建一個ASP.NET Core MVC應(yīng)用程序:
需要勾選Docker支持
2.將其上傳到git:
3.建立Jenkins任務(wù)
(1)選擇“新建任務(wù)”,輸入任務(wù)名稱,選擇“自由風(fēng)格項目”,然后點擊確定:
(2)選擇“源代碼管理”,填入我們的git地址
輸入H/2 * * * *設(shè)置兩分鐘拉取一次
(3)構(gòu)建環(huán)境
勾上 Delete workspace before build start 是設(shè)置構(gòu)建前刪除工作區(qū)
勾上 Abort the build if it's stuck 是設(shè)定構(gòu)建的超時時間,如果構(gòu)建使用的時間超過設(shè)定的時間,那么就認(rèn)為這次的構(gòu)建是失敗的。筆者這里超時設(shè)置的是10分鐘
(4)增加一個Execute Shell 腳本,并填寫以下腳本內(nèi)容
#!/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...------------------ docker rmi $(docker images -f "dangling=true" -q) echo ---------------Clear-Containers...------------------ docker rm webapplication6_ci-build_1
2018.4.24 加入鏡像和容器清理命令,所以上面的腳本和下圖不一樣,以上面的shell腳本為準(zhǔn)
應(yīng)用保存,回到項目界面上。點擊立即構(gòu)建進(jìn)行部署工作
我們可以查看控制臺輸出:
待構(gòu)建成功以后訪問url(你的ip:端口)試試效果。
不知道端口的可以通過命令docker ps
查看
參考資料:
//www.gxlcms.com/article/139553.htm
//www.gxlcms.com/article/139555.htm
總結(jié)
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com