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

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

然后,把服務器的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~
接下來要從倉庫拉取鏡像并運行,該怎么做呢?想必聰明的你已經知道了——沒錯,還是同樣的流程:添加SSH Server→添加構建步驟→撰寫Shell,添加并選擇新的SSH Server,執行這些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
然后再次手動觸發構建,去server02查看容器:

訪問一下:

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

Git提交,等待一段時間后直接重繪swagger:

只需要Git上傳代碼就能完成這些,爽不?
自動部署Get~
小結
看完這三篇文章,你應該可以成功搭建CICD環境了,然后你會發現它并不難,不過如果你想在生產環境應用它,可能會有些坑,當然,我已經踩過了,而且有些坑還給我的公司造成了損失,既然說到這里,當然不會看著同學們踩坑,所以我還會寫個防踩坑指南,下一篇見,
宣告:未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連接,否則視為侵權,
本文原創發表于博客園,作者為暮城傾心,歡迎轉載,Donation(掃碼支持作者)↓
-
- 微信
-
- 支付寶
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/404247.html
標籤:.NET技术
上一篇:如何提升.NET控制臺應用體驗?
