Veröffentlichen eines Pakets in einem Azure Artifacts-Feed
Azure Artifacts ermöglicht Entwicklern die effiziente Verwaltung aller Abhängigkeiten aus einem einzigen Feed. Feeds in Azure Artifacts dienen als Organisationsrepositorys zum Speichern, Verwalten und Freigeben Ihrer Pakete innerhalb Ihres Teams, in organisationen oder öffentlich im Internet. Azure Artifacts-Feeds unterstützen eine vielzahl von Pakettypen, einschließlich NuGet, npm, Python, Maven, Cargo und Universal Packages.
Dieser Artikel führt Sie durch den Prozess der Veröffentlichung Ihres ersten Pakets in einem Azure Artifacts-Feed. Sie haben auch die Möglichkeit, GitHub Copilot zu verwenden, um diesen Prozess zu optimieren und die Funktionen des GitHub Copilot Chat in Visual Studio Code zu erkunden.
Voraussetzungen
Erstellen Sie eine Azure DevOps-Organisation und ein Projekt, falls noch nicht geschehen.
Installieren Sie das .NET Core SDK.
Installieren Sie den Azure Artifacts-Anmeldeinformationsanbieter.
(Optional) Einrichten von GitHub Copilot und Visual Studio Code. Eine kostenlose 30-tägige GitHub Copilot-Testversion ist verfügbar, wenn Sie sich noch nicht registriert haben.
Einen Feed erstellen
Melden Sie sich bei Ihrer Azure DevOps-Organisation an, und navigieren Sie dann zu Ihrem Projekt.
Wählen Sie Artefakte und dann Ihren Feed erstellen aus.
Geben Sie einen beschreibenden Namen für Ihren Feed an, und legen Sie dessen Sichtbarkeit fest (wer Pakete in Ihrem Feed anzeigen kann). Definieren Sie den Bereich Ihres Feeds, und wenn Sie Pakete aus öffentlichen Quellen einschließen möchten, aktivieren Sie das Kontrollkästchen "Upstream-Quellen ".
Wählen Sie Erstellen, wenn Sie fertig sind.
Melden Sie sich bei Ihrem Azure DevOps-Server an, und navigieren Sie dann zu Ihrem Projekt.
Wählen Sie Artefakte und dann Ihren Feed erstellen aus.
Geben Sie einen beschreibenden Namen für Ihren Feed an, und legen Sie dessen Sichtbarkeit fest (wer Pakete in Ihrem Feed anzeigen kann). Definieren Sie den Bereich Ihres Feeds, und wenn Sie Pakete aus öffentlichen Quellen einschließen möchten, aktivieren Sie das Kontrollkästchen "Upstream-Quellen ".
Wählen Sie Erstellen, wenn Sie fertig sind.
Wählen Sie Erstellen, wenn Sie fertig sind.
Vorbereiten des Codes
Führen Sie die folgenden Schritte aus, um ein einfaches Klassenbibliotheksprojekt über die Befehlszeile zu erstellen, die Metadaten Ihres Pakets einzurichten und ein NuGet-Paket zu generieren:
Erstellen Sie auf Ihrem lokalen Computer einen neuen Ordner, und geben Sie ihm einen Namen.
Öffnen Sie ein Eingabeaufforderungsfenster, und navigieren Sie zu dem ordner, den Sie erstellt haben.
Führen Sie den folgenden Befehl aus, um ein neues Klassenbibliotheksprojekt zu erstellen:
dotnet new classlib
Öffnen Sie die Csproj-Datei , und fügen Sie die Paketmetadaten innerhalb des
<PropertyGroup>
Tags hinzu. Die Dateistruktur sollte wie folgt aussehen:<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>net8.0</TargetFramework> <RootNamespace>demo_class_library</RootNamespace> <ImplicitUsings>enable</ImplicitUsings> <Nullable>enable</Nullable> <PackageId>YOUR_PACKAGE_NAME</PackageId> <Version>YOUR_PACKAGE_VERSION</Version> <Authors>YOUR_NAME</Authors> <Company>YOUR_COMPANY</Company> </PropertyGroup> </Project>
Führen Sie den folgenden Befehl aus, um Ihr Projekt zu verpacken und ein .nupkg-Artefakt zu generieren. Ihr NuGet-Paket wird im
bin\release
Verzeichnis generiert.dotnet pack
Herstellen einer Verbindung mit einem Feed
Wählen Sie Artefakte und dann Ihren Feed aus dem Dropdownmenü aus.
Wählen Sie "Mit Feed verbinden" und dann "Dotnet " aus dem Abschnitt "NuGet " aus.
Befolgen Sie die Anweisungen im Project-Setup , um Ihre Datei "nuget.config " einzurichten. Die Struktur Ihrer Datei sollte etwa wie folgt aussehen:
Projektbezogener Feed:
<?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>
Feed mit Organisationsbereich:
<?xml version="1.0" encoding="utf-8"?> <configuration> <packageSources> <clear /> <add key="<FEED_NAME>" value="https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json" /> </packageSources> </configuration>
Melden Sie sich bei Ihrer Azure DevOps-Sammlung an, und navigieren Sie dann zu Ihrem Projekt.
Wählen Sie Artefakte und dann Ihren Feed im Dropdownmenü aus.
Wählen Sie "Mit Feed verbinden" und dann im linken Navigationsbereich "Dotnet " aus.
Folgen Sie den Anweisungen im Abschnitt "Project-Setup ", um Die Datei "nuget.config " zu konfigurieren und eine Verbindung mit Ihrem Feed herzustellen.
Tipp
Sie können GitHub Copilot fragen, "wie Sie einer vorhandenen Nuget.config-Datei eine neue Paketquelle hinzufügen". Copilot führt Sie durch die Verwendung des nuget sources Add
Befehls, um Ihre neue Feedquell-URL zu Ihrer Datei "nuget.config " hinzuzufügen.
Veröffentlichen von Paketen
Führen Sie den folgenden Befehl aus Ihrem Projektverzeichnis aus, um Das Paket zu veröffentlichen. Der ApiKey ist erforderlich, Sie können jedoch bei der Veröffentlichung in einem Azure Artifacts-Feed einen beliebigen Zeichenfolgenwert verwenden.
dotnet nuget push --source <FEED_NAME> --api-key az <PACKAGE_PATH>