【2021鐵人賽】建立自管的Azure DevOps Agent(Windows VM agent)
要在Windows VM中安裝Azure DevOps Agent的方式與步驟很簡單。雖然前一篇內容的官方步驟看起來只有三步,不過實際上執行設定的時候還是有幾個選項要輸入與選擇,這篇就從建立PAT到設定的步驟實際的來操作一次吧!
2021年iThome鐵人賽
要在Windows VM中安裝Azure DevOps Agent的方式與步驟很簡單。雖然前一篇內容的官方步驟看起來只有三步,不過實際上執行設定的時候還是有幾個選項要輸入與選擇,這篇就從建立PAT到設定的步驟實際的來操作一次吧!
先前介紹Azure DevOps的Pipelines的時候有提到過Azure DevOps Agent,它是Pipelines與Releases執行的基礎,前面的範例都是使用微軟Host在雲端的Agent來執行,其實我們也可以在自己的機房內安裝Agent的程式在VM或Container裡,這樣就可以透過Pipeline指定使用自己Host的Agent(Self-hosted Agent)來執行一些在雲端的Agent無法執行的任務,例如:內網機器部署。
前一篇提到了Build pipeline的排程除了可以在Yaml內設定之外,也可以透過傳統UI的方式設定。同樣 … 閱讀全文
現在有不少的軟體會有一個特殊的版本叫Nightly,從字面上的意思就可以得知是指每個晚上發行的版本,而這個每晚發佈一個版本基本上都是靠Pipeline在晚上的時候執行build的動作,完成之後將該版發佈出來,是一個比alpha、beta這些迭代更快速的版本,如果要達成這樣的排程設計,在Azure DevOps Pipeline上要怎麼做呢?
Azure DevOps Artifacts讓我們可以擁有自己的nuget套件庫,但是如果需要讓組織外的成員能夠存取的話,是否需要額外購買Basic的授權呢?實際上只要透過Azure AD邀請對方成為來賓身份,就可以設定存取權限了唷!
這篇文章內容除了提到如何透過Extension提供的Task來讀取與寫入csproj檔案內容之外,也提到了如何讓Pipeline在不同情況變更定義的變數(Variable)值,以便讓後續的Task在不同情況使用不同的變數值。
許多功能強大的系統或軟體都會設計有能夠安裝額外的擴充套件或外掛的功能,藉此延伸軟體的功能應用層面,Azure DevOps Service/Server同樣也提供了安裝Extensions的能力,並且能夠在Marketplace上瀏覽各種Extensions。
這篇文章利用前面介紹過的建立共用的Build Pipeline內容為基底,以及前一篇文章中已經在C#專案中勾選Generate NuGet package on build屬性,編譯時會自動產生nupkg檔案,這裡再加上新的Task將nupkg檔案Push上去。
這篇文章說明了如何設定C#專案屬性讓專案在編譯的時候一併產生nupkg檔案(nuget package),接著利用dotnet cli或nuget cli來將產生出來的nupkg檔案上傳到Azure Artifact Feed,簡簡單單就可以擁有私有的nuget套件庫。
Artifacts指的是Project左邊選單中的Artifacts,和前幾篇Pipeline裡面所指的Artifacts並不相同,只是剛好英文名稱一樣而已。在Pipeline中的我把它稱為「成品庫」,在這裡所指的Artifacts我把它稱為「套件庫」。