ASP.NET Core+Docker+Jenkins實(shí)現(xiàn)持續(xù)集成的完整實(shí)例
前言
在前后端分離開發(fā)的項(xiàng)目當(dāng)中為了避免重復(fù)構(gòu)建發(fā)布,我們需要部署一個(gè)持續(xù)發(fā)布環(huán)境,而目前的開發(fā)環(huán)境服務(wù)器都是基于 CentOS 的,因此每次在本地發(fā)布之后還需要打包,上傳,部署,十分繁瑣。故這里采用了比較成熟的Jenkins 作為持續(xù)部署環(huán)境。
方法如下:
1.新建一個(gè)ASP.NET Core MVC應(yīng)用程序:

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

3.建立Jenkins任務(wù)
(1)選擇“新建任務(wù)”,輸入任務(wù)名稱,選擇“自由風(fēng)格項(xiàng)目”,然后點(diǎn)擊確定:

(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)建的超時(shí)時(shí)間,如果構(gòu)建使用的時(shí)間超過設(shè)定的時(shí)間,那么就認(rèn)為這次的構(gòu)建是失敗的。筆者這里超時(shí)設(shè)置的是10分鐘

(4)增加一個(gè)Execute Shell 腳本,并填寫以下腳本內(nèi)容
#!/bin/bash # 獲取短版本號(hào) 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)用保存,回到項(xiàng)目界面上。點(diǎn)擊立即構(gòu)建進(jìn)行部署工作

我們可以查看控制臺(tái)輸出:

待構(gòu)建成功以后訪問url(你的ip:端口)試試效果。
不知道端口的可以通過命令docker ps查看

參考資料:
http://m.fzitv.net/article/139553.htm
http://m.fzitv.net/article/139555.htm
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
- docker部署Asp.net core應(yīng)用的完整步驟
- Docker容器運(yùn)行ASP.NET Core的實(shí)現(xiàn)步驟
- Asp.net Core Jenkins Docker實(shí)現(xiàn)一鍵化部署的實(shí)現(xiàn)
- Centos7+Docker+Jenkins+ASP.NET Core 2.0自動(dòng)化發(fā)布與部署的實(shí)現(xiàn)
- 詳解ASP.NET Core Docker部署
- .Net Core自動(dòng)化部署之利用docker版jenkins部署dotnetcore應(yīng)用的方法
- 關(guān)于Jenkins + Docker + ASP.NET Core自動(dòng)化部署的問題(避免踩坑)
相關(guān)文章
.net core 靜態(tài)類獲取appsettings的方法
這篇文章主要介紹了.net core 靜態(tài)類獲取appsettings的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06
.Net Core + Nginx實(shí)現(xiàn)項(xiàng)目負(fù)載均衡的全步驟
這篇文章主要給大家介紹了關(guān)于.Net Core + Nginx實(shí)現(xiàn)項(xiàng)目負(fù)載均衡的相關(guān)資料,文中通過示例代碼以及圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07
VS2017做為Unity3D的腳本編輯器需要的最精簡(jiǎn)組件
這篇文章主要為大家詳細(xì)介紹了VS2017做為Unity3D的腳本編輯器需要的最精簡(jiǎn)組件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04
ASP.NET 4中的可擴(kuò)展輸出緩存(可以緩存頁(yè)面/控件等)
ASP.NET 1.0引入輸出緩存的概念,這使得開發(fā)者可以緩存頁(yè)面、控件、控制器以及HTTP響應(yīng)的輸出到內(nèi)存中,接下來(lái)詳細(xì)介紹,感興趣的朋友可以了解下2013-01-01

