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形式開發。

我們運行起來:
enter image description here

整體功能和先前 .net framework版本完全相同,程式碼結構也相同,唯一的差異就是這個版本是 .net core 3.1開發的。

你可以建立一個新的Azure DevOps Project,並且依照先前介紹過的方法將Github上的程式碼匯入,完成後,應當會看到類似底下這樣:

enter image description here

接著,我們來嘗試建立這個repo的CI Build:

enter image description here

前面的動作都一樣,請留意選擇的Repository別選錯了,按下Continue之後,重點來了,在選擇專案範本的時候,你可以在下圖1的地方,輸入『.net core』作為過濾的關鍵字:

enter image description here

然後在出現的範本中,選擇上圖A的ASP.NET Core。

你可能會納悶有兩個選項(另一個是上圖B),原則上兩個都可以,因為.net core是跨平台開發技術,你可以選擇用Windows或非Windows環境進行Builld,我們選擇上圖A的Ubuntu環境。

接著,會看到該範本中的Tasks大致如下:

enter image description here

你先不用做額外的設定,請直接點選上圖1的Save & queue,系統將會用此範本跑一個Build的執行個體:
enter image description here

請留意上圖中的Agent是ubuntu 16.04。

建置的動作你會發現明顯比Windows環境來的快速很多,很快的整個Build就運行完畢了:

enter image description here

這個.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敏捷開發與專案管理實戰

留言

這個網誌中的熱門文章

使用 Airtable 在小型需求上取代傳統資料庫

使用Semantic Kernel 建立自然語言請假系統

精彩(且驚人)的Semantic Kernel入門範例

在 LINE Bot 開發中使用Semantic Kernel建立自然語言請假系統

專業的價值...