Uw eerste pakket publiceren naar een Azure-artefacten-feed

Met Azure-artefacten kunnen ontwikkelaars hun afhankelijkheden efficiënt beheren vanuit één feed. Feeds in Azure-artefacten fungeren als organisatieopslagplaatsen voor het opslaan, beheren en delen van pakketten binnen een team, tussen organisaties of openbaar op internet. Azure-artefacten ondersteunt een breed scala aan pakkettypen, waaronder NuGet, npm, Python, Maven, Cargo en Universal Packages.

Dit artikel begeleidt u bij het publiceren van uw eerste NuGet-pakket naar een Azure-artefacten-feed. U kunt eventueel de instructies volgen om GitHub Copilot te gebruiken om uw project in te stellen en uw pakket voor te bereiden voor publicatie.

Vereisten

Product Eisen
Azure DevOps - Een Azure DevOps organisatie.
- Een Azure DevOps--project.
- Download en installeer de .NET SDK versie 9.0.200 of hoger.
GitHub Copilot (optioneel) - GitHub Copilot en Visual Studio Code instellen. Er is een gratis proefversie van GitHub Copilot van 30 dagen beschikbaar als u zich nog niet hebt geregistreerd.

Een feed maken

Als u al een feed hebt, kunt u deze sectie overslaan. Volg anders de onderstaande stappen om een nieuwe feed te maken in Azure-artefacten:

  1. Meld u aan bij uw Azure DevOps-organisatie en navigeer vervolgens naar uw project.

  2. Selecteer Artifacts en selecteer vervolgens Feed maken.

  3. Geef een beschrijvende naam op voor uw feed en stel de zichtbaarheid in om te bepalen wie pakketten in uw feed kan bekijken. Definieer het bereik van uw feed en schakel het selectievakje Upstream-bronnen in als u pakketten uit openbare bronnen wilt opnemen.

  4. Selecteer Maken wanneer u klaar bent.

    Een schermopname van het maken van een nieuwe feed in Azure DevOps Services.

  1. Meld u aan bij uw Azure DevOps-verzameling en navigeer vervolgens naar uw project.

  2. Selecteer Artefacten en selecteer vervolgens Feed maken.

  3. Geef een beschrijvende naam op voor uw feed en stel de zichtbaarheid in om te bepalen wie pakketten in uw feed kan bekijken. Definieer het bereik van uw feed en schakel het selectievakje Upstream-bronnen in als u pakketten uit openbare bronnen wilt opnemen.

  1. Selecteer Maken wanneer u klaar bent.

    Een schermopname van het maken van een nieuwe feed in Azure DevOps Server 2022.

Uw pakket voorbereiden

In dit voorbeeld gebruikt u een voorbeeld van een .NET Core-klassebibliotheek en stelt u de metagegevens van uw pakket in voordat u het project bouwt en een NuGet-pakket maakt dat gereed is voor publicatie in uw feed. Als u nog geen project hebt, volgt u de instructies in deze handleiding om een .NET-klassebibliotheek te maken met Visual Studio Code.

  1. Open uw project in Visual Studio Code en selecteer vervolgens uw csproj-bestand . Voeg de metagegevens van uw pakket toe aan de <PropertyGroup> tag. Het bestand moet er ongeveer als volgt uitzien:

    <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>
    
  2. Voer de volgende opdracht uit in de projectmap om uw project te bouwen en een .nupkg-pakket te maken. Uw pakket bevindt zich in de bin\release map.

    dotnet pack
    

De Azure-artefacten-aanmeldingsgegevensprovider instellen

Als u zich wilt verifiëren met uw feed, moet u eerst de Azure-artefacten Referentieprovider installeren. Met behulp van het installatieprogramma dat is opgenomen in dotnet, kunt u de referentieprovider installeren vanuit de CLI met behulp van de volgende opdracht:

dotnet tool install --global Microsoft.Artifacts.CredentialProvider.NuGet.Tool

Als uw opslagplaatsniveau nuget.config is geconfigureerd om alleen Azure-artefacten bronnen te gebruiken, voert u de installatieopdracht van buiten die map uit of stelt u expliciet nuget.org in als de bron:

dotnet tool install --global Microsoft.Artifacts.CredentialProvider.NuGet.Tool --source https://api.nuget.org/v3/index.json

Desgewenst kunt u het hulpprogramma vastzetten op een hoofdversie (bijvoorbeeld in containerimages waar reproduceerbaarheid belangrijk is):

dotnet tool install --global Microsoft.Artifacts.CredentialProvider.NuGet.Tool --version 2.* --source https://api.nuget.org/v3/index.json

Eerste gebruik

De eerste keer dat u een bewerking uitvoert waarvoor verificatie is vereist, gebruikt u een van de volgende methoden:

  1. Voer de opdracht uit met --interactive, zodat dotnet u kan vragen om u aan te melden. Dit is de aanbevolen benadering voor de meeste lokale ontwikkelscenario's.

Voordat u een interactieve opdracht uitvoert, moet u ervoor zorgen dat uw project is ingesteld en dat uw feed wordt toegevoegd aan nuget.config. Zie de installatie van het project voor meer informatie over de installatie.

Zodra uw project is ingesteld en verbonden met uw feed, gaat u naar de projectmap en voert u het volgende uit:

dotnet restore --interactive

Met deze opdracht meldt u zich aan en verkrijgt u een sessietoken. Nadat u zich hebt aangemeld, kunt u geverifieerde opdrachten uitvoeren zonder --interactive, zolang het sessietoken in de cache geldig blijft. Zie Locaties van de sessietokencache voor meer informatie.

  1. Voor niet-interactieve scenario's, zoals Docker-containers en aangepaste automatisering, geeft u referenties op via omgevingsvariabelen.

Gebruik voor Azure-pipelines de taak NuGetAuthenticate@1 om te verifiëren bij uw feed voordat u opdrachten uitvoert, zoals dotnet restore of dotnet nuget push. Zie Restore NuGet-pakketten met Azure-pipelines voor meer informatie.

Verbinding maken met een feed

Volg de onderstaande stappen om uw project in te stellen en verbinding te maken met uw Azure-artefacten-feed. Zorg ervoor dat u de referentieprovider van Azure-artefacten en de nieuwste versie van NuGet hebt geïnstalleerd, zoals beschreven in de vereisten.

  1. Meld u aan bij uw Azure DevOps-organisatie en navigeer vervolgens naar uw project.

  2. Selecteer Artefacten en selecteer vervolgens uw feed in de vervolgkeuzelijst.

  3. Selecteer Verbinding maken met feed en selecteer vervolgens dotnet in de sectie NuGet.

  4. Volg de instructies in de installatie van Project om uw nuget.config-bestand in te stellen. De structuur van het bestand moet er ongeveer als volgt uitzien:

    • Feed met projectbereik:

      <?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 met organisatiebereik:

      <?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>
      
  1. Meld u aan bij uw Azure DevOps-verzameling en navigeer vervolgens naar uw project.

  2. Selecteer Artefacten en selecteer vervolgens uw feed in de vervolgkeuzelijst.

  3. Selecteer Verbinding maken met feed en selecteer vervolgens dotnet in het linkernavigatiedeelvenster.

  4. Volg de instructies in de sectie Project-installatie om uw nuget.config-bestand in te stellen.

    Een schermopname die laat zien hoe u verbinding maakt met een feed in Azure DevOps Server 2020 en 2022.

Uw pakket publiceren

Voer de volgende opdracht uit vanuit de projectmap om het pakket te publiceren naar uw Azure-artefacten-feed. De --api-key parameter is vereist, maar u kunt elke tekenreekswaarde gebruiken bij het publiceren naar Azure-artefacten.

dotnet nuget push --source <FEED_NAME> --api-key <ANY_STRING> <PACKAGE_PATH>

Volgende stappen