日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【Azure + Core】实现CI/CD(一)构建镜像并推送仓库

發(fā)布時(shí)間:2023/12/4 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Azure + Core】实现CI/CD(一)构建镜像并推送仓库 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

(海上生明月,天涯共此時(shí))

今天是農(nóng)歷八月十六,大家中秋節(jié)快樂!

放了三天假,和家人整理下屋子,打掃下衛(wèi)生,閑著無聊就研究點(diǎn)兒新東西。最近一直再看DevOps相關(guān)的內(nèi)容,自從開始學(xué)習(xí)Docker以來,DevOps一直是比較感興趣的事情,今天就給大家簡單演示一下,如何使用Azure來實(shí)現(xiàn)CI操作——將Github上的代碼,自動(dòng)的構(gòu)建鏡像,并推送到DockerHub上(持續(xù)集成)。當(dāng)然,私庫也是可以的。CD相關(guān)的內(nèi)容,我還在看,下篇會(huì)講講,至于是部署到自己的服務(wù)器,還是部署到K8s里,看到時(shí)候的設(shè)備咯。

每個(gè)人應(yīng)該都是可以的,注冊一個(gè)Azure賬號就可以了,我是國際版的,區(qū)別就是域名是https://dev.azure.com,只要有梯子科學(xué)上網(wǎng)就行,否則會(huì)很慢。

1$ 準(zhǔn)備賬號

首先,Azure賬號就不說了,硬性標(biāo)準(zhǔn)。

其次,既然是要處理CI/CD,肯定需要源代碼管理了,想必每個(gè)人都有GitHub的賬號吧,用GitHub也是可以的,有時(shí)候我也會(huì)使用Azure上的代碼庫,畢竟是一體化的,整體操作起來比較順暢。

如果已經(jīng)在GitHub上已經(jīng)有項(xiàng)目了,又不想遷移到Azure上,那也可以的,直接建一個(gè)Pipeline就行了,我這里已經(jīng)建了三個(gè)了:

我建Pipeline的目的主要有兩個(gè):

1、保證代碼的準(zhǔn)確性,比如有時(shí)候在地鐵上想修改一個(gè)代碼,又沒有編譯器,一般就直接在Github上修改,然后提交,讓CI來檢查;

2、可以構(gòu)建鏡像并推送到倉庫,甚至還可以下一篇文章說到的直接部署。

真正意義上實(shí)現(xiàn),修改代碼?== 預(yù)覽效果 的目的。

Github的Action也有這樣的功能,實(shí)現(xiàn)思路大致一樣,只不過在CD(持續(xù)部署上),不太好操作,具體可以參考我Blog.Core項(xiàng)目的代碼,這里不細(xì)說。

2$ 連接服務(wù)

新建一個(gè)Pipeline用來實(shí)現(xiàn)持續(xù)集成,需要一個(gè)DockerRegistry服務(wù),要不然只能到Build這一步,也就只能來校驗(yàn)代碼是否正常,不能推送鏡像,更別說后續(xù)的CD操作了。

一、項(xiàng)目設(shè)置

二、在Pipeline中,連接服務(wù)

點(diǎn)擊新建服務(wù)連接按鈕

選擇Docker Registry選項(xiàng)

選擇Registry類型,輸入DockerID和密碼,給這個(gè)連接取一個(gè)名字,點(diǎn)擊Save按鈕。

一個(gè)服務(wù)連接就創(chuàng)建完成了,在以后的CI操作中,會(huì)用到這個(gè)連接。

用戶名和密碼要正確,否則會(huì)提示錯(cuò)誤,可以點(diǎn)擊Verify進(jìn)行校驗(yàn)

3$ 新建Pipeline

選擇新建Pipeline,勾選Github,如果你是在Azure中的,可以直接第一個(gè),我這里勾選GitHub,基本都是采用YAML的方式

選擇一個(gè)自己的項(xiàng)目,這個(gè)時(shí)候可能需要Github二次密碼確認(rèn),輸入密碼即可

配置Pipeline,一般都是直接點(diǎn)擊Docker即可

配置YAML文件,默認(rèn)會(huì)創(chuàng)建一個(gè),只有build操作的,可以去掉那個(gè)task,在后側(cè)選擇一個(gè)docker的Assistant,這里都有模板

也可以直接點(diǎn)擊左側(cè)代碼里的那個(gè)settings,會(huì)自動(dòng)喚起后側(cè)編輯窗口

其他都是默認(rèn),只需要勾選剛剛的服務(wù)連接就行,然后輸入自己的容器倉庫名,請注意,需要帶上鏡像前綴名稱,也就是DockerID,點(diǎn)擊Add按鈕,左側(cè)就同步變化了。

然后點(diǎn)擊右上角的Save and run按鈕,一個(gè)完成的CI操作就完成了,并且會(huì)把代碼給同步到GitHub上:

然后可以在GitHub上看到推送的鏡像

4$ 其他內(nèi)容

新的每次Pipeline執(zhí)行,都會(huì)有郵件的返回結(jié)果,如果是成功與否,這個(gè)還是很方便的

可以直接點(diǎn)擊地址,查看結(jié)果。

打完收工,下一篇,我們來看看如何做CD操作。

預(yù)告,在發(fā)稿時(shí)CD已經(jīng)研究七七八八了,總體感覺良好,且很有意思,值得研究下:

不僅有直觀的看板界面,更有詳細(xì)的日志和操作說明,方便定位任何問題,比如我隨便寫一個(gè)錯(cuò)誤,就會(huì)看到錯(cuò)誤日志(具體問題,下篇解析):

總結(jié)

以上是生活随笔為你收集整理的【Azure + Core】实现CI/CD(一)构建镜像并推送仓库的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。