Freigeben über


Verbindung zu Azure Artifacts Feeds (NuGet.exe)

Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019

Azure Artifacts ermöglicht Entwicklern das Veröffentlichen und Herunterladen von NuGet-Paketen aus verschiedenen Quellen, einschließlich Feeds und öffentlichen Registrierungen. Sie können private Azure Artifacts-Feeds verwenden, um Pakete privat mit Ihrem Team oder bestimmten Benutzern zu teilen. Darüber hinaus können Sie öffentliche Feeds erstellen, um Pakete öffentlich zugänglich zu machen, sodass Sie sie offen für jeden im Internet freigeben können. Dieser Artikel führt Sie durch die Verbindung mit Ihrem Azure Artifacts-Feed.

Voraussetzungen

Projektkonfiguration

  1. Melden Sie sich bei Ihrer Azure DevOps-Organisation an, und navigieren Sie dann zu Ihrem Projekt.

  2. Wählen Sie Artefakte und dann Ihren Feed im Dropdownmenü aus.

  3. Wählen Sie Verbinden mit Futtermittel, und wählen Sie dann NuGet.exe auf der linken Seite.

  4. Wenn Sie Azure Artifacts zum ersten Mal mit NuGet.exe verwenden, stellen Sie sicher, dass Sie die Voraussetzungen installiert haben, sonst wählen Get the tools in der oberen rechten Ecke, um sie zu installieren.

  5. Fügen Sie Ihrem Projekt eine nuget.config Datei hinzu, platzieren Sie sie in demselben Ordner wie Ihre csproj oder sln Datei, und fügen Sie dann den bereitgestellten Codeausschnitt in die Datei ein. Der Codeausschnitt sollte wie folgt strukturiert sein:

    • Projektbezogener Feed:

      <?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>
      
    • Organisationsspezifischer Feed:

      <?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. Melden Sie sich bei Ihrem Azure DevOps-Server an, und navigieren Sie dann zu Ihrem Projekt.

  2. Wählen Sie Artefakte und dann Ihren Feed im Dropdownmenü aus.

  3. Wählen Sie Verbinden mit Feed, und wählen Sie dann NuGet.exe aus dem linken Navigationsbereich.

  4. Befolgen Sie die Anweisungen in der Einrichtung des Projekts Abschnitt, um eine Verbindung zu Ihrem Feed herzustellen.

  1. Melden Sie sich bei Ihrem Azure DevOps-Server an, und navigieren Sie dann zu Ihrem Projekt.

  2. Wählen Sie Artefakte und dann Ihren Feed aus.

  3. Wählen Sie Verbinden mit Feed, und wählen Sie dann NuGet aus dem linken Navigationsbereich.

  4. Folgen Sie den bereitgestellten Anweisungen, um Ihre Paketquell-URL zu Ihrer nuget.config Datei hinzuzufügen.

Wichtig

Die Azure Artifacts Credential Provider erfordert NuGet 4.8.0.5385 oder höher.

Um eine optimale Leistung zu erzielen, empfiehlt Azure Artifacts die Verwendung der NuGet-Version 5.5.x oder höher, da sie wichtige Fehlerkorrekturen im Zusammenhang mit Abbrüchen und Timeouts enthält.

Einrichtung von Legacy-Projekten

Wenn Sie eine ältere Version von NuGet verwenden, folgen Sie den nachstehenden Anweisungen, um eine Verbindung mit Ihrem Feed herzustellen:

  1. Melden Sie sich bei Ihrer Azure DevOps-Organisation an, und navigieren Sie dann zu Ihrem Projekt.

  2. Wählen Sie Artefakte und wählen Sie dann Ihren Feed aus dem Dropdown-Menü.

  3. Wählen Sie Verbinden mit Futtermittel, und wählen Sie dann NuGet.exe auf der linken Seite.

  4. Kopieren Sie die Quell-URL, und ersetzen Sie dann /v3/index.json durch /v2. Die aktualisierte Quell-URL sollte wie folgt aussehen:

    • Projektbezogener Feed:

      https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v2
      
    • Organisationsspezifischer Feed:

      https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/nuget/v2
      
  5. Erstellen einer Personal Access Token, und stellen Sie sicher, dass Sie die richtige Organisation auswählen, auf die Sie zugreifen möchten, und wählen Sie einen der folgenden Bereiche: Verpackung (lesen), Packaging (read and write), or Packaging (read, write, and manage).

  6. Führen Sie den folgenden Befehl in einem Eingabeaufforderungsfenster aus, um Ihre Feedquelle zu Ihrer nuget.config Datei hinzuzufügen:

    nuget sources add -name <FEED_NAME> -source <SOURCE_URL> -username <ANY_STRING_BUT_NOT_NULL> -password <YOUR_PERSONAL_ACCESS_TOKEN>
    
  7. Wenn Ihr Unternehmen mit Microsoft Entra ID verbunden ist, müssen Sie sich zunächst mit Ihren AD-Anmeldeinformationen authentifizieren und dann Ihr persönliches Zugriffstoken mit der Option setapikey befehl:

    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-Feed mit Dienstprinzipal authentifizieren

Um sich mit einem Dienstprinzipal zu authentifizieren, müssen Sie zunächst die Artifacts Credential Provider.

Setzen Sie die ARTIFACTS_CREDENTIALPROVIDER_FEED_ENDPOINTS Umgebungsvariable wie unten gezeigt, wobei Sie Ihre Feed-URL, die Anwendungs-(Client-)ID des Service-Principals und den Subjektnamen oder den Dateipfad Ihres Service-Principal-Zertifikats angeben. (Es wird nur eine zwischen dem Namen des Zertifikatsfachs oder dem Dateipfad benötigt).

Geben Sie in PowerShell den folgenden Code ein.

$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>"
        }
    ]
}
'@