共用方式為


連接至 Azure Artifacts 來源 (NuGet.exe)

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Azure Artifacts 可讓開發人員從各種來源發佈和下載 NuGet 套件,包括資訊源和公用註冊庫。 您可以使用私人 Azure Artifacts 資料流,在私下的情況下與小組或特定使用者共用套件。 此外,您可以建立公用摘要,讓套件可供公開存取,讓您與因特網上的任何人公開共用這些摘要。 本文將引導您連接到 Azure Artifacts 饋送。

先決條件

項目設定

  1. 登入您的 Azure DevOps 組織,然後流覽至您的專案。

  2. 選取 Artifacts,然後從下拉功能表中選取您的信息流。

  3. 然後從左側面板中選取 NuGet.exe,接著選取 連接到源

  4. 如果這是您第一次開始使用 Azure Artifacts 搭配 NuGet.exe,請確定您已安裝必要條件,否則請在右上角選取 [取得工具] 以安裝它們。

  5. nuget.config 檔案新增至您的專案、將它放在與 csprojsln 檔案相同的資料夾中,然後將所提供的代碼段貼入其中。 代碼段的結構應該像這樣:

    • 專案範圍的信息流

      <?xml version="1.0" encoding="utf-8"?>
      <configuration>
        <packageSources>
          <clear />
          <add key="<SOURCE_NAME>" value="https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json" />
        </packageSources>
      </configuration>
      
    • 組織範圍的資訊流

      <?xml version="1.0" encoding="utf-8"?>
      <configuration>
        <packageSources>
          <clear />
          <add key="<SOURCE_NAME>" value="https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json" />
        </packageSources>
      </configuration>
      
  1. 登入您的 Azure DevOps 伺服器,然後流覽至您的專案。

  2. 選取 Artifacts,然後從下拉功能表中選取您的信息流。

  3. 選取 [連接到動態消息],然後從左側導覽窗格中選取 [NuGet.exe]。

  4. 請遵循 項目設定 區段中的指示,連接到您的訊息來源。

這很重要

Azure Artifacts 認證提供者 需要 NuGet 4.8.0.5385 或更高版本。

為了獲得最佳效能,Azure Artifacts 建議使用 NuGet 版本 5.5.x 或更新版本,因為它包含與取消和逾時相關的重要錯誤修正。

舊版項目設定

如果您使用舊版的 NuGet,請遵循下列指示來連線到您的摘要:

  1. 登入您的 Azure DevOps 組織,然後流覽至您的專案。

  2. 選取 工件,然後從下拉菜單中選取您的供稿。

  3. 選取 [連線至],然後從左側面板中選取 [NuGet.exe]

  4. 複製來源 URL,然後將 /v3/index.json 取代為 /v2。 更新的來源 URL 應該如下所示:

    • 專案範圍的信息流

      https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v2
      
    • 組織範圍的資訊流

      https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/nuget/v2
      
  5. 建立 個人存取令牌,並確保將它的範圍設定為您想要存取的正確組織,然後選擇以下其中一個範圍:封裝(讀取)封裝(讀取和寫入),或 封裝(讀取、寫入和管理)

  6. 在命令提示字元視窗中執行下列命令,將來源來源新增到 nuget.config 檔案:

    nuget sources add -name <FEED_NAME> -source <SOURCE_URL> -username <ANY_STRING_BUT_NOT_NULL> -password <YOUR_PERSONAL_ACCESS_TOKEN>
    
  7. 如果您的組織已連線到 Microsoft Entra ID,您必須先使用 AD 認證進行驗證,然後使用 setapikey 命令新增您的個人存取令牌:

    nuget sources add -name <FEED_NAME> -source <SOURCE_URL> -username <AZURE_ACTIVE_DIRECTORY_USERNAME> -password <AZURE_ACTIVE_DIRECTORY_PASSWORD>
    
    nuget setapikey <YOUR_PERSONAL_ACCESS_TOKEN> -source <SOURCE_URL> 
    

使用服務主體驗證 NuGet 源

若要向服務主體進行驗證,您必須先安裝 Artifacts Credential Provider

設定 ARTIFACTS_CREDENTIALPROVIDER_FEED_ENDPOINTS 環境變數,如下所示,指定您的摘要 URL、服務主體的應用程式 (用戶端) 識別碼,以及服務主體憑證的主體名稱或檔案路徑。 (憑證主體名稱或檔案路徑之間只需要一個。)

在 PowerShell 中,輸入下列程式代碼。

$env:ARTIFACTS_CREDENTIALPROVIDER_FEED_ENDPOINTS = @'{
    "endpointCredentials": [
        {
            "endpoint": "<FEED_URL>",
            "clientId": "<SERVICE_PRINCIPAL_APPLICATION_(CLIENT)_ID>",
            "clientCertificateSubjectName": "<SERVICE_PRINCIPAL_CERTIFICATE_NAME>",
            "clientCertificateFilePath": "<SERVICE_PRINCIPAL_CERTIFICATE_PATH>"
        }
    ]
}
'@