Azure DevOps Pipeline CI CD Deploy Azure App Service Linux (3)

Azure DevOps Pipeline CI CD Deploy Azure App Service Linux (3)

終於到了第三回合,

可以看到Azure DevOps的畫面了,終於阿,

今天的目標就是Azure DevOps Pipeline CI。

前言

當程式碼寫好了,要上線時,首先就是要產生release的檔案,

在visual studio中,手指按按就可以完成了,

那在 DevOps Pipeline中要怎麼做呢?

建立DevOps Pipeline

首先在DevOps中間建立一個專案,進入後會看到,會看到對應的選單,

例如我的專案名稱是LineBotCore,就會在選單中有明顯的標示。

今天我們的主軸就是,Pipelines,那我們點選Pipelines中的Pipelines,

有點詭異,聽說之前的名稱不是這樣,我們會看到可以建立Pipeline的按鈕(New Pipeline)。

那我們就開始建立吧,點下去就對了,出現的畫面是詢問你的source code要從哪一個版控提供,

這邊會有一些預設的YAML模板可以直接選擇。

但是我走了別條路,我選擇Use the classic editor,這樣可以讓我們有調整的空間,而不是拿固定的YAML。

接著這邊一樣會需要你選擇,使用的版控,這邊使用的是github,沒有使用Azure Repos Git,

反正老闆都一樣,選擇專案的Repository跟要佈署的分支,之後就可以下一步。

接著會詢問想要使用的YAML模板,這裡其實就是在選擇要用什麼樣的環境,

來產生要用來發佈的專案檔。

那我們需要選擇ASP.NET Core的,搜尋一下有兩組,為了求穩選擇通用型的,ASP.NET Core(.NET Framework),選擇後點選Apply。

那我們會看到,基礎模板要做的事情其實都已經列在上面了,但有一些需要進行調整,首先改個Pipeline名子,方便區分。

接著調整一下,Agent Specification,換成windows2019,裡面的vs也是2019,vs 2017跑.net core 3.1會出錯。

接著要調整的部分是打包檔案的方式,由於Bulid環境是windows,想要佈署到Linux App Service,就需要做些調整,

為什麼要調整? 因為預設是會打包成zip佈署,在windows環境可以,linux會直接…..你懂得,

可以參考官方文件的說明,進行調整。

 

調整Build solution,改成FileSystem的打包方式,上面的路徑不要用打的官方文件上可以直接複製,

接著移到Agent job上的加號,點擊增加一個task。

接著要處理的是,將FileSystem模式打包的檔案壓縮成一個zip檔,以便後續佈署使用,

壓縮的路徑也需要進行調整,Archive files的task位置就是在Build solution下。

都設定好以後,我們可以按Save & queue儲存,這邊我只有單純save,

接著到Pipelines可以看到,剛剛存檔的DotNetCoreDeployDemo-CI。

點選後進入,右上會有Run pipeline,點擊後會看到選單,要用什麼Agent,哪種作業環境跑,要拿git repository哪個分支,

基本上之前有設定好,這邊不需要調整,就可以按Run了。

接著會看到Runs中出現一個新的項目,就是剛剛點擊觸發的CI,點進去後會看到一些基礎資訊,

但重點是最下面的jobs的Agent job 1 點進去會看到運行的相關資訊,下面的圖是後來補的,所以是已經跑完的狀態。

通常都會是綠色勾勾,這樣代表正常的打包檔案已經建立完畢,黑色畫面裡有一個1 artifact,

這檔案是可以下載的,想確認打包的結果就可以下載來看看。

續待

真的是有夠長的CI,下一段就是CD了,

為什麼都沒提測試,因為這專案就直接剛建立的.吃net core 專案,

乾淨的不行,後續有研究會再補上番外篇(自己挖坑)