【.NET】实现CI/CD(二)运行镜像,自动化部署
(一重山,兩重山。)
書接上文,在上回中我們說到了《【Azure + Core】實現CI/CD(一)構建鏡像并推送倉庫
今天我們繼續往下說,說下CD(持續部署)的流程,也是很簡單。這里先貼下上篇文章末尾留的小問題,在CD的時候遇到了個錯誤,打開日志是這樣的,大家可以先看看,后續會解答:
1$ 添加Release管道
和CI類似,還是在Pipelines(管道)的Release(發布)中,新建一個Pipeline:
選擇一個空模板:
將鼠標放到Artifacts(制品)模塊上,點擊添加一個Artifact,此時右側喚起編輯窗口,
選擇build,然后選擇構建的管道源
然后可以開啟自動構建,只要提交代碼的時候,便會觸發CI的Build操作,接著便立即觸發CD的Release操作,整個流程一氣呵成
配置好了Artifact,你可以稱它為制品,然后就可以配置task任務了。
2$?配置Agent代理
將鼠標放到右側的Stage 1選項上,可以看到有三塊功能選擇,分別是:
①、重命名Stage(階段);
②、添加一個新的Stage;
③、編輯task(任務);
點擊任務鏈接,配置Agent Job(代理工作),這里有兩點需要注意:
1、代理池,說白了就是部署的地方,目前可以默認即可,以后需要用自己的服務器;
2、agent specification(代理規格),就是服務器規格配置;
請注意!這里默認的是vs2019規格,是windows環境的,如果不改的話,就會出現文章開頭的錯誤,Docker不能運行的平臺問題。所以直接選Linux即可。
3$ 配置Task任務
點擊上邊的加號,篩選docker的task模板
在新喚起的編輯頁,編輯命令即可,Docker有三個類型,對應不同的命令類型,
我們第一步需要先刪除舊的容器,所以直接用run命令即可,所以Task的版本用0.*:
還是和上篇一樣,需要選擇容器Registry地址,然后就是配置一個action(行為),增加一個刪除鏡像的命令
4$ 配置其他的Stage階段
仿造上邊第一步刪除舊容器的階段步驟,再建一個運行容器的Stage,整體流程一致,不再細說,配置圖如下:
用的是Task版本為1.*的Docker容器配置,使用自定義的DockerRegistry,配置鏡像名,支持自定義,比如我加了前綴,也可以指定端口。
點擊Save(保存),一套簡單的持續集成管道就建好了
手動觸發,create release,就可以看到詳細的過程:
等一段時間后,就可以看到效果了,但是這樣是不行的,因為我們還沒有自己的IP。
5$?其他問題
一、如何預覽效果
上邊我們說到了一個地方,就是代理池(Agent Pool),這個東西就是配置我們的服務器地址的,也就是宿主機,配置好以后就可以看效果了。
當然,也可以直接對接k8s,效果也是一樣的,等我后續的文章吧。
二、如何自定義Docker Registry
目前這兩篇文章可以看出來,用的是DockerHub作為服務倉庫地址,如何使用自己的私庫或者Azure上的呢,也是等我后續的文章吧。
下次再見咯。
總結
以上是生活随笔為你收集整理的【.NET】实现CI/CD(二)运行镜像,自动化部署的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 自主生态再进一步,龙芯中科完成.NET3
- 下一篇: 记一次 .NET 某上市工业智造 CPU