.NET微服務(wù)架構(gòu)CI/CD鏡像自動分發(fā)
如何通過Jenkins完成鏡像分發(fā)?基本做法是:打包鏡像→上傳鏡像到倉庫→腳本分發(fā)。鏡像倉庫也有很多,比如docker hub、Harbor等,今天這一篇講一下基于阿里云鏡像倉庫的操作。
首先,準(zhǔn)備一個阿里云鏡像倉庫,個人版是免費(fèi)的。
然后下載這個插件:
Publish Over SSH
這個插件主要用來遠(yuǎn)程登錄服務(wù)器并執(zhí)行腳本。
插件安裝完畢后,系統(tǒng)設(shè)置會多出這一項,戳圖里這個按鈕:
然后,把服務(wù)器的ip、賬戶、密碼填進(jìn)去:
配置好以后,最好點(diǎn)測試按鈕試一下,如果沒問題會輸出“Success”
接下來找到之前的工作流,新增構(gòu)建步驟:
選中剛才新增的server,編寫腳本進(jìn)行上傳:
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
手動構(gòu)建一下,去看阿里云倉庫:
鏡像自動上傳,Get~
接下來要從倉庫拉取鏡像并運(yùn)行,該怎么做呢?想必聰明的你已經(jīng)知道了——沒錯,還是同樣的流程:添加SSH Server→添加構(gòu)建步驟→編寫Shell。添加并選擇新的SSH Server,執(zhí)行這些shell:
echo "==========停止進(jìn)程==========" 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 "==========開始運(yùn)行==========" docker run -itd -p 5000:80 --restart always --name=mydotnet6 registry.cn-shenzhen.aliyuncs.com/命名空間/倉庫名:latest
然后再次手動觸發(fā)構(gòu)建,去server02查看容器:
訪問一下:
訪問正常。手動構(gòu)建沒問題,那么自動構(gòu)建呢?打開項目新增一個NB方法:
Git提交,等待一段時間后直接刷新swagger:
只需要Git上傳代碼就能完成這些,爽不?
自動部署Get~
小結(jié)
前文:
.NET微服務(wù)架構(gòu)CI/CD自動構(gòu)建Jenkins+Gitee
看完這三篇文章,你應(yīng)該可以成功搭建CICD環(huán)境了,然后你會發(fā)現(xiàn)它并不難。不過如果你想在生產(chǎn)環(huán)境應(yīng)用它,可能會有些坑。當(dāng)然,我已經(jīng)踩過了,而且有些坑還給我的公司造成了損失。既然說到這里,當(dāng)然不會看著同學(xué)們踩坑,所以我還會寫個防踩坑指南,下一篇見。
到此這篇關(guān)于.NET微服務(wù)架構(gòu)CI/CD鏡像自動分發(fā)的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
靜態(tài)gb2312編碼在項目傳值出現(xiàn)中文亂碼現(xiàn)象
參考的美工靜態(tài)頁面是gb2312格式的,當(dāng)此編碼拿到項目中后,utf-8編碼的系統(tǒng),加載頁面時,會出現(xiàn)樣式問題,比如不能正常居中等2013-06-06ASP.NET?Core使用EF創(chuàng)建模型(包含屬性、排除屬性、主鍵和生成值)
這篇文章介紹了ASP.NET?Core使用EF創(chuàng)建模型的的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-04-04如何利用IIS調(diào)試ASP.NET網(wǎng)站程序詳解
這篇文章主要給大家介紹了關(guān)于如何利用IIS調(diào)試ASP.NET網(wǎng)站程序的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-01-01gridview實現(xiàn)服務(wù)器端和客戶端全選的兩種方法分享
這篇文章主要介紹了gridview實現(xiàn)服務(wù)器端和客戶端全選的兩種方法,需要的朋友可以參考下2014-02-02asp.net treeview checkbox 相關(guān)問題
asp.net treeview checkbox 相關(guān)問題,需要的朋友可以看下。2009-06-06