Azure DevOps in Action - 建立.net core專案的Build Pipeline
好,接著我們來看 .net core 應用程式的CI Build。
.net core應用程式的建置環境和傳統 .net framework 有所不同,主要是因為 .net core是跨平台開發技術,你根本可以在 Linux環境上對程式碼進行Build的動作,從頭到尾都無須採用Windows環境。
如果是開發網站,也不需要IIS,直接佈署到Linux伺服器上即可(這個我們後面講CD的時候提)。
我們先來看底下這個Github上的範例:
https://github.com/isdaviddong/dotNetCoreBMISample.git
這個範例跟前面 .net framework的範例幾乎一樣,只是以 .net core的Razor Page形式開發。
我們運行起來:
整體功能和先前 .net framework版本完全相同,程式碼結構也相同,唯一的差異就是這個版本是 .net core 3.1開發的。
你可以建立一個新的Azure DevOps Project,並且依照先前介紹過的方法將Github上的程式碼匯入,完成後,應當會看到類似底下這樣:
接著,我們來嘗試建立這個repo的CI Build:
前面的動作都一樣,請留意選擇的Repository別選錯了,按下Continue之後,重點來了,在選擇專案範本的時候,你可以在下圖1的地方,輸入『.net core』作為過濾的關鍵字:
然後在出現的範本中,選擇上圖A的ASP.NET Core。
你可能會納悶有兩個選項(另一個是上圖B),原則上兩個都可以,因為.net core是跨平台開發技術,你可以選擇用Windows或非Windows環境進行Builld,我們選擇上圖A的Ubuntu環境。
接著,會看到該範本中的Tasks大致如下:
你先不用做額外的設定,請直接點選上圖1的Save & queue,系統將會用此範本跑一個Build的執行個體:
請留意上圖中的Agent是ubuntu 16.04。
建置的動作你會發現明顯比Windows環境來的快速很多,很快的整個Build就運行完畢了:
這個.net core版本的程式一樣有運行Unit Test,但我們並沒有故意留下bug,因此建置的過程應該會十分順利。筆者寫稿時雲端的Ubuntu環境上的 .net core版本是3.1版,所以理當能夠順利的建置。
整個過程和剛才的 .net framework版本差不多,甚至和後續我們會介紹到的其他非.net開發語言大致上也相同。
但你可能會有些疑惑,怎麼知道要選擇哪一種範本呢? 還有,這些tasks(例如上面的Restore, Build, Test, Publish…)到底是用來幹嘛的呢? 別擔心,這部分我們在後面會陸續跟讀者介紹。
----------------------------------------------------------------------------
想知道如何快速建立可以將 .net core 程式佈署到 container上運行的 CI pipeline?
同場加映: https://youtu.be/TXOxAljxo90
本文摘錄自『Azure DevOps敏捷開發與專案管理實戰』
留言