Azure DevOps 服務 |Azure DevOps Server |Azure DevOps Server 2022
本指南會逐步引導您使用 dotnet 命令行介面來設定專案以發佈 NuGet 套件。
先決條件
| 產品 | 需求 |
|---|---|
| Azure DevOps | - Azure DevOps 組織。 - Azure DevOps 項目。 - Azure Artifacts 饋送。 - 下載並安裝 Azure Artifacts 憑證提供程式。 - 下載並安裝 .NET Core SDK (2.1.400+)。 |
建立資訊來源
如果您已有資料流,請繼續下一步。 否則,請按照以下說明建立新帳戶:
登入您的 Azure DevOps,然後流覽至您的專案。
選取 [工件],然後選取 [建立動態消息]。
輸入摘要的描述性 名稱 ,並定義其 可見度 (誰可以使用您的摘要)。 指定您摘要的 範圍,如果您想要包含來自公共來源的套件,請勾選 包含來自公共來源的套件 選項。
完成後,按下[建立]。
連接到資料源
在您可以將封包發佈至您的 feed 之前,您必須先通過 Azure Artifacts 進行驗證。 請按照以下指示設定您的專案並使用您的摘要進行驗證:
登入您的 Azure DevOps 組織,然後流覽至您的專案。
選取 工件,然後從下拉功能表中選取您的訂閱源。
選取 [連線至資料來源],然後從左側的 [NuGet] 區段選取 [dotnet]。
在與 csproj 或 sln 檔案相同的資料夾中建立 nuget.config 檔案。 複製下列 XML 代碼段,並將它貼到您的新檔案中,將相關資訊取代佔位元:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<clear />
<add key="<FEED_NAME>" value="https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json" />
</packageSources>
</configuration>
將套件發佈到相同組織中的饋送端點
執行下列命令,將套件發布到您的饋送。 將佔位符取代為適當的值:
dotnet nuget push --source https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json --api-key <ANY_STRING> <PACKAGE_PATH>
範例:
dotnet nuget push --source https://pkgs.dev.azure.com/MyOrg/MyProject/_packaging/MyFeed/nuget/v3/index.json --api-key AZ bin/MyPackage.5.0.2.nupkg
注意
發佈至 Azure Artifacts 摘要時,需要參數 api-key ,但您可以使用任何字串作為其值。
將套件發佈至不同組織中的來源
若要將 NuGet 套件發佈至不同 Azure DevOps 組織中的摘要,您必須先在目標組織中建立個人存取權杖 (PAT) ,將新的套件來源新增至組態檔,然後執行 publish 命令:
導航至裝載目標摘要的組織,並建立 個人存取令牌,具有 封裝>讀取 & 寫入 範圍。
以您的個人存取令牌取代 <PERSONAL_ACCESS_TOKEN> 佔位元元,然後執行下列命令,將套件來源新增至 nuget.config 檔案。 請確定此檔案安全儲存,並且不要提交至版本控制系統。
dotnet nuget add source https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json --name <SOURCE_NAME> --username <USER_NAME> --password <PERSONAL_ACCESS_TOKEN> --configfile <PATH_TO_NUGET_CONFIG_FILE>執行下列命令以發佈您的套件:
dotnet nuget push --source <SOURCE_NAME> --api-key <ANY_STRING> <PACKAGE_PATH>
範例:
dotnet nuget add source https://pkgs.dev.azure.com/MyOrg/MyProject/_packaging/MyFeed/nuget/v3/index.json --name MySource --username MyUserName --password MyPersonalAccessToken --configfile ./nuget.config
dotnet nuget push --source MySource --api-key AZ nupkgs/mypackage.1.1.0.nupkg
注意
如果您的組織使用防火牆或 Proxy 伺服器,請確定允許 Azure Artifacts 網域 URL 和 IP 位址 。