Azure Devops(十四) 使用Azure的私有Nuget倉庫
哈嘍大家好,最近因為工作的原因沒有時間寫文章,斷更了倆月,今天我們開始繼續研究Azure上的功能。
今天我們開始研究一下Azure的製品倉庫,在之前的流水線的相關文章中,我們都使用到了製品倉庫用來保存我們臨時的編譯結果,從而為流水線的下一步做準備。
除了這種臨時的製品倉庫之外,Azure同時也給我們提供了MAVEN,NUGET,NPM等的製品倉庫,今天我們來嘗試一下創建一個c#的類庫,然後把他上傳到NUGET中去。
首先我們打開Azure找到製品項目。
然後我們選擇nuget,就可以看到下圖中的介面,可以看到azure為我們提供了多種的nuget上傳方式,但是第二三種需要依賴windows和vs,為了更好的跨平台,所以我們這裡使用.NET Core 的CLI來干這個事兒。
如果要使用CLI的話首先,我們需要先去安裝一下命令行的工具,點擊介面中的《GET THE TOOLS》就會跳轉到對應的下載地址
點擊後會跳轉到GITHUB,然後我們往下翻就可以看到自動安裝的腳本,我們按照步驟去執行自動化的安裝腳本即可,不過這裡需要注意的是,這個腳本下載可能會被牆,所以大家下載的時候需要注意。我把自動化的腳本程式碼放在下面,懶得翻的同學可以直接複製運行。
//windows
iex "& { $(irm //aka.ms/install-artifacts-credprovider.ps1) }"
//MAC OR LINUX
wget -qO- https://aka.ms/install-artifacts-credprovider.sh | bash sh -c "$(curl -fsSL //aka.ms/install-artifacts-credprovider.sh)"
安裝完成後,首先我們先創建一個類庫項目,我這裡為了降低平台依賴性,所以全程是用的CLI
執行 dotnet new classlib 創建一個.NET Core的類庫項目。
然後,我們創建一個Common.cs的類型,在裡面打一些偽程式碼。
打完偽程式碼之後,我們在文件夾中,按照azure的要求創建一個nuget.config文件夾,把azure中的配置項複製進去。
這裡一定要注意,nuget.config問價的位置要和我們的工程文件保持在一個目錄下,或者跟我們解決方案文件保持在一個目錄下。
像這樣,把我們在我們的工程文件csproj的同級目錄下創建文件然後把配置項粘貼進去。
接下來,我們需要執行pack命令,對現有的程式碼進行打包,如果你的類庫引入了其他三方依賴,需要先執行restore,對所有依賴先進行還原。
首先執行還原命令:dotnet restore –interactive
然後執行打包命令:dotnet pack
這裡可以看到,生成了一個後綴為nupkg的文件,這個就是nuget的打包文件了,我們要使用的就是這個。
然後我們執行nuget的上傳命令。
dotnet nuget push --source "你的項目名" --api-key az --interactive ./bin/Debug/azure_nuget.1.0.0.nupkg
執行命令後,控制台里會給你彈出一個網址,你要去手動打開這個網址,在網址里輸出控制台中輸出的秘鑰完成身份驗證。
完成了身份驗證之後,我們的包就會推送到nuget上去了。
然後我們去azure上刷新一下頁面,就可以看到我們剛才上傳的包了。