.NET微服務架構CI/CD鏡像自動分發(fā)
如何通過Jenkins完成鏡像分發(fā)?基本做法是:打包鏡像→上傳鏡像到倉庫→腳本分發(fā)。鏡像倉庫也有很多,比如docker hub、Harbor等,今天這一篇講一下基于阿里云鏡像倉庫的操作。
首先,準備一個阿里云鏡像倉庫,個人版是免費的。
然后下載這個插件:
Publish Over SSH

這個插件主要用來遠程登錄服務器并執(zhí)行腳本。
插件安裝完畢后,系統(tǒng)設置會多出這一項,戳圖里這個按鈕:

然后,把服務器的ip、賬戶、密碼填進去:

配置好以后,最好點測試按鈕試一下,如果沒問題會輸出“Success”
接下來找到之前的工作流,新增構建步驟:

選中剛才新增的server,編寫腳本進行上傳:
echo "==========登錄倉庫==========" docker login --username=阿里云賬戶 --password=阿里云倉庫密碼 registry.cn-shenzhen.aliyuncs.com echo "==========上傳鏡像==========" docker tag mydotnet6 registry.cn-shenzhen.aliyuncs.com/命名空間/倉庫名:latest docker push registry.cn-shenzhen.aliyuncs.com/命名空間/倉庫名:latest echo "==========清理鏡像==========" docker rmi -f mydotnet6 docker rmi registry.cn-shenzhen.aliyuncs.com/命名空間/倉庫名:latest
手動構建一下,去看阿里云倉庫:

鏡像自動上傳,Get~
接下來要從倉庫拉取鏡像并運行,該怎么做呢?想必聰明的你已經(jīng)知道了——沒錯,還是同樣的流程:添加SSH Server→添加構建步驟→編寫Shell。添加并選擇新的SSH Server,執(zhí)行這些shell:
echo "==========停止進程==========" docker kill -s KILL mydotnet6 echo "==========刪除容器==========" docker rm mydotnet6 echo "==========刪除鏡像==========" docker rmi -f registry.cn-shenzhen.aliyuncs.com/命名空間/倉庫名:latest echo "==========登錄倉庫==========" docker login --username=阿里云賬戶 --password=阿里云倉庫密碼 registry.cn-shenzhen.aliyuncs.com echo "==========拉取新鏡像==========" docker pull registry.cn-shenzhen.aliyuncs.com/命名空間/倉庫名:latest echo "==========開始運行==========" docker run -itd -p 5000:80 --restart always --name=mydotnet6 registry.cn-shenzhen.aliyuncs.com/命名空間/倉庫名:latest
然后再次手動觸發(fā)構建,去server02查看容器:

訪問一下:

訪問正常。手動構建沒問題,那么自動構建呢?打開項目新增一個NB方法:

Git提交,等待一段時間后直接刷新swagger:

只需要Git上傳代碼就能完成這些,爽不?
自動部署Get~
小結
前文:
.NET微服務架構CI/CD自動構建Jenkins+Gitee
看完這三篇文章,你應該可以成功搭建CICD環(huán)境了,然后你會發(fā)現(xiàn)它并不難。不過如果你想在生產(chǎn)環(huán)境應用它,可能會有些坑。當然,我已經(jīng)踩過了,而且有些坑還給我的公司造成了損失。既然說到這里,當然不會看著同學們踩坑,所以我還會寫個防踩坑指南,下一篇見。
到此這篇關于.NET微服務架構CI/CD鏡像自動分發(fā)的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
基于ASP.NET+EasyUI框架實現(xiàn)圖片上傳提交表單功能(js提交圖片)
這篇文章主要介紹了基于ASP.NET+EasyUI框架實現(xiàn)圖片上傳再提交表單(js提交圖片)的相關資料,需要的朋友可以參考下2016-06-06
運行page頁面時的事件執(zhí)行順序及頁面的回發(fā)與否深度了解
page頁面時的事件執(zhí)行順序的了解對于一些.net開發(fā)者起到者尤關重要的作用;頁面的回發(fā)與否會涉及到某些事件執(zhí)行與不執(zhí)行,在本文中會詳細介紹,感興趣的朋友可以了解下2013-01-01
asp.net實現(xiàn)將ppt文檔轉換成pdf的方法
這篇文章主要介紹了asp.net實現(xiàn)將ppt文檔轉換成pdf的方法,通過自定義函數(shù)實現(xiàn)將pptx格式的文件轉換成pdf格式文件的功能,是非常實用的技巧,需要的朋友可以參考下2014-11-11
asp.net中利用ashx實現(xiàn)圖片防盜鏈的原理分析
盜鏈的危害我就不說了,網(wǎng)上有很多。下面是asp.net下利用ashx的防盜鏈原理分析2008-09-09
詳解開源免費且穩(wěn)定實用的.NET PDF打印組件itextSharp(.NET組件介紹之八)
本篇文章主要介紹了.NET PDF打印組件itextSharp。.NET中實現(xiàn)PDF打印的組件比較多,例如PDFsharp、Report.NET、sharpPDF、itextSharp等等,今天主要簡單的介紹itextSharp組件。有興趣的可以了解一下。2016-12-12
ASP.NET MVC中為DropDownListFor設置選中項的方法
這篇文章主要介紹了ASP.NET MVC中為DropDownListFor設置選中項的方法,需要的朋友可以參考下2014-10-10

