【2021鐵人賽】Artifacts應用:讓外部合作夥伴也可以從Private nuget安裝Package
Azure DevOps Artifacts讓我們可以擁有自己的nuget套件庫,但是如果需要讓組織外的成員能夠存取的話,是否需要額外購買Basic的授權呢?實際上只要透過Azure AD邀請對方成為來賓身份,就可以設定存取權限了唷!
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我把它稱為「套件庫」。
這篇文章將建立第2個Pipeline,透過使用自訂的一個變數(Variable)設計,再調整一下部份的yaml內容,就可以讓使用者在執行Pipeline的時候自己決定要編譯(Build)哪一個C#專案,對於切分不同c#專案或是Module的情況滿好用。
這篇文章將從Starter範本修改內容,將所需要的Task一個個設定完屬性內容之後加入到yaml檔案中,透過不同的Task執行Build Console app專案、將產生的檔案壓縮成zip,然後將壓縮的zip檔案上傳到Pipeline的成品庫(Artifacts)。
這篇文章簡單的看了一下Pipeline執行失敗與成功的畫面,並且說明了如果是最近才新申請的帳號可能會無法成功執行Pipeline的原因與解決方式。另外也介紹了Pipeline顯示的資訊內容含義,以及如何將Pipeline重新命名。
這一篇將開始建立第一個Build Pipeline,在文章中將說明建立Pipeline的方式,以及系統中有哪些Pipeline範本可以挑選,並且介紹Azure DevOps如何貼心的提供了Pipeline Yaml內容好用的編輯與設定功能。