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://chabaoo.cn/article/139553.htm
http://chabaoo.cn/article/139555.htm
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
- 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)文章
ASP.NET Web API教程 創(chuàng)建Admin控制器實(shí)例分享
在本文中我們要添加一個(gè)對產(chǎn)品支持CRUD(創(chuàng)建、讀取、更新和刪除)操作的Web API控制器,需要的朋友可以參考下2012-11-11ASP.NET?MVC5網(wǎng)站開發(fā)顯示文章列表(九)
顯示文章列表分兩塊,管理員可以顯示全部文章列表,一般用戶只顯示自己的文章列表。文章列表的顯示采用easyui-datagrid,后臺(tái)需要與之對應(yīng)的action返回json類型數(shù)據(jù),感興趣的小伙伴們可以參考一下2015-09-09asp.net保存網(wǎng)上圖片到服務(wù)器的實(shí)例
本篇文章主要介紹了asp.net保存網(wǎng)上圖片到服務(wù)器,非常具有實(shí)用價(jià)值,需要的朋友可以參考下。2016-10-10發(fā)布asp.net core時(shí)如何修改ASPNETCORE_ENVIRONMENT環(huán)境變量
這篇文章主要介紹了發(fā)布asp.net core時(shí)如何修改ASPNETCORE_ENVIRONMENT環(huán)境變量,幫助大家更好的理解和學(xué)習(xí)使用.net技術(shù),感興趣的朋友可以了解下2021-04-04詳解ASP.NET Core和ASP.NET Framework共享身份驗(yàn)證
本篇文章主要介紹了詳解ASP.NET Core和ASP.NET Framework共享身份驗(yàn)證 ,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-12-12淺談Asp.Net母版頁和內(nèi)容頁運(yùn)行機(jī)制
這篇文章主要介紹了淺談Asp.Net母版頁和內(nèi)容頁運(yùn)行機(jī)制,詳細(xì)的介紹了母版頁和內(nèi)容頁的運(yùn)行過程步驟,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-11-11Asp.net中把Excel數(shù)據(jù)存儲(chǔ)至SQL Server中的具體實(shí)現(xiàn)方法
Asp.net中把Excel數(shù)據(jù)存儲(chǔ)至SQL Server中的具體實(shí)現(xiàn)方法,需要的朋友可以參考一下2013-06-06