Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
Dieser Artikel erläutert, wie Sie mithilfe von zwei Authentifizierungsverfahren eine Verbindung mit Ihrem Feed herstellen und Pakete veröffentlichen: mit dem Azure Artifacts Credential Provider für Feeds in Ihrer eigenen Organisation und mit einem persönlichen Zugriffstoken (PAT) für Feeds, die in einer anderen Organisation gehostet werden.
Voraussetzungen
- Eine Azure DevOps Organisation.
- Ein Azure DevOps Projekt.
- Ein Azure Artifacts Feed.
-
nuget.exe Version
4.8.0.5385oder höher. Azure Artifacts empfiehlt NuGet5.5.xoder höher für optimale Kompatibilität und Zuverlässigkeit. - Zum Veröffentlichen von Paketen müssen Sie ein Feed Publisher (Mitwirkender) oder höher sein.
Richten Sie den Anmeldeinformationsanbieter für Azure Artifacts ein
Der Azure Artifacts-Anmeldeinformationsanbieter ermöglicht die sichere Authentifizierung bei Ihren Azure Artifacts-Feeds. Um es mit nuget.exezu verwenden, müssen Sie es zuerst zum Plug-In-Suchpfad von NuGet hinzufügen. Ausführliche Informationen finden Sie unter Plug-In-Installation und Ermittlung. Nachdem das Plug-In hinzugefügt wurde, führen Sie die Installationsschritte für Ihr Betriebssystem aus:
Verwenden Sie eine der folgenden Methoden, um den Anmeldeinformationsanbieter für Azure Artifacts zu installieren:
Manuelle Installation
Laden Sie die neueste version Microsoft.NetFx48.NuGet.CredentialProvider.zip herunter.
Extrahieren Sie die ZIP-Datei.
Kopieren Sie den
netfxOrdner aus dem extrahierten Archiv in%UserProfile%/.nuget/plugins/. DernetfxOrdner ist für nuget.exe Kompatibilität erforderlich.
Installieren mit dem Hilfsskript
Alternativ können Sie das automatisierte Hilfsskript für eine optimierte Installation verwenden. Stellen Sie sicher, dass Sie über PowerShell 5.1 oder höher verfügen, und führen Sie dann Folgendes aus:
iex "& { $(irm https://aka.ms/install-artifacts-credprovider.ps1) } -AddNetfx"
Weitere Informationen finden Sie im Repository Azure Artifacts Credential Provider.
Mit einem Feed verbinden
Bevor Sie Ihre Pakete veröffentlichen können, richten Sie Ihr Projekt ein, und stellen Sie eine Verbindung mit Ihrem Feed wie folgt her:
Melden Sie sich bei Ihrer Azure DevOps-Organisation an, und navigieren Sie dann zu Ihrem Projekt.
Wählen Sie Artefakte und dann Ihren Feed im Dropdownmenü aus.
Wählen Sie im Navigationsbereich links Verbindung mit Feed herstellen und dann NuGet.exe aus.
Fügen Sie ihrem Projekt eine
nuget.configDatei im selben Ordner wie Ihre.csprojoder.slnDatei hinzu. Fügen Sie den bereitgestellten XML-Codeausschnitt in Ihre Datei ein. Der Codeausschnitt sollte wie folgt aussehen: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>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>
Melden Sie sich bei Ihrem Azure DevOps-Server an, und navigieren Sie dann zu Ihrem Projekt.
Wählen Sie Artefakte und dann Ihren Feed aus.
Wählen Sie Verbinden mit Feed, und wählen Sie dann NuGet.exe aus dem linken Navigationsbereich.
Fügen Sie Ihrem Projekt eine
nuget.config-Datei im selben Ordner wie Ihre.csproj- oder.sln-Datei hinzu und fügen Sie dann das bereitgestellte XML-Snippet in Ihre Datei ein.
Veröffentlichen in einem Feed in derselben Organisation
Nachdem Sie nuget.config konfiguriert und sich mithilfe des Azure Artifacts-Anmeldeinformationsanbieters authentifiziert haben, führen Sie den folgenden Befehl aus, um ein Paket in Ihrem Feed zu veröffentlichen. Ersetzen Sie die Platzhalter durch die entsprechenden Werte:
nuget push <PACKAGE_PATH> -Source https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json -ApiKey <ANY_STRING>
Beispiel:
nuget push MyPackage.5.0.2.nupkg -Source https://pkgs.dev.azure.com/MyOrg/MyProject/_packaging/MyFeed/nuget/v3/index.json -ApiKey AZ
Anmerkung
Der Azure Artifacts Credential Provider übernimmt die eigentliche Authentifizierung beim Push, aber NuGet erfordert dennoch einen -ApiKey-Wert, damit der Befehl akzeptiert wird. Azure Artifacts ignoriert den von Ihnen bereitgestellten Wert, sodass jede nicht leere Zeichenfolge funktioniert.
Veröffentlichen in einem Feed in einer anderen Organisation
Wenn sich der Zielfeed in einer anderen Azure DevOps Organisation befindet, erstellen Sie einen PAT in dieser Organisation, und fügen Sie den Feed als Quelle in Ihrer nuget.config Datei hinzu.
Erstellen Sie ein persönliches Zugriffstoken (PAT) in der Zielorganisation mit dem Berechtigungsumfang Packaging>Lesen &-schreiben.
Führen Sie den folgenden Befehl aus, um den Feed als Quelle hinzuzufügen. Mit diesem Befehl wird Ihr PAT zu
nuget.confighinzugefügt. Speichern Sie die Datei daher an einem sicheren Ort, und checken Sie sie nicht in die Quellcodeverwaltung ein.nuget sources Add -Name <SOURCE_NAME> -Source https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json -UserName <USER_NAME> -Password <PERSONAL_ACCESS_TOKEN> -config <PATH_TO_NUGET_CONFIG_FILE>Veröffentlichen Sie das Paket mithilfe des soeben hinzugefügten Quellnamens.
nuget push <PACKAGE_PATH> -Source <SOURCE_NAME> -ApiKey <ANY_STRING>
Beispiel:
nuget sources Add -Name "MySource" -Source https://pkgs.dev.azure.com/MyOrg/MyProject/_packaging/MyFeed/nuget/v3/index.json -UserName MyUserName -Password YourPersonalAccessToken -config ./nuget.config
nuget push nupkgs/mypackage.1.1.8.nupkg -Source MySource -ApiKey AZ
Anmerkung
Wenn Ihre Organisation eine Firewall oder einen Proxyserver verwendet, lassen Sie die Azure Artifacts Domänen-URLs und IP-Adressen zu.
Problembehandlung
Authentifizierungsaufforderung wird nicht angezeigt
Stellen Sie sicher, dass der Azure Artifacts-Anmeldeinformationsanbieter installiert ist und Sie NuGet in Version 4.8.0.5385 oder höher verwenden. Schritte zum Einrichten finden Sie unter Herstellen einer Verbindung mit Azure Artifacts Feeds mit NuGet.exe.
Fehler beim Veröffentlichen, da die Version bereits vorhanden ist.
Paketversionen in Azure Artifacts sind unveränderlich. Nachdem Sie eine Version veröffentlicht haben, können Sie sie nicht überschreiben oder dieselbe Versionsnummer wiederverwenden, auch wenn Sie das Paket löschen. Aktualisieren Sie die Paketversion, erstellen Sie das Paket neu, und veröffentlichen Sie es dann erneut.
Die Veröffentlichung schlägt hinter einer Firewall oder einem Proxy fehl
Lassen Sie die Domänen-URLs und IP-Adressen von Azure Artifacts zu, und wiederholen Sie dann den Veröffentlichungsvorgang.
Veröffentlichen schlägt mit einem 403-Fehler fehl
Dieser Fehler bedeutet in der Regel, dass Ihr Konto keine Veröffentlichungsberechtigungen für den Feed hat. Sie benötigen mindestens die Rolle Feed Publisher (Mitwirkender), um Pakete zu übertragen. Bitten Sie den Besitzer eines Feeds, Ihre Rolle zu aktualisieren, und versuchen Sie es dann erneut.