Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
Met Azure Pipelines kunnen ontwikkelaars pakketten publiceren naar Azure Artifacts-feeds binnen hun organisatie, feeds in andere organisaties en openbare registers zoals nuget.org. In dit artikel wordt uitgelegd hoe u NuGet-pakketten publiceert naar zowel interne als externe feeds met behulp van klassieke en YAML-pijplijnen.
Vereisten
| Product | Requirements |
|---|---|
| Azure DevOps | - Een Azure DevOps-organisatie en een project. - Een Azure Artifacts feed. - Als u een zelf-hostende agent gebruikt, controleert u of de .NET Core SDK en NuGet zijn geïnstalleerd. - Machtigingen: - Als u toegang wilt verlenen tot alle pijplijnen in het project, moet u lid zijn van de groep Projectbeheerders. - Als u serviceverbindingen wilt maken, moet u de Administrator-- of Creator- rol hebben voor serviceverbindingen. |
Notitie
Als u Ubuntu 24.04 of hoger gebruikt, moet u de NuGetAuthenticate taak gebruiken met de .NET CLI in plaats van nuget.exe. Zie Ondersteuning voor nieuwere gehoste Ubuntu-installatiekopieën voor meer informatie.
NuGet-pakketten publiceren naar een feed in dezelfde organisatie
Als u nog geen feed hebt, kunt u een nieuwe maken, anders volgt u deze stappen om uw NuGet-pakket te publiceren naar een feed binnen dezelfde organisatie:
Meld u aan bij uw Azure DevOps en navigeer vervolgens naar uw project.
Selecteer Pijplijnen en selecteer vervolgens uw pijplijndefinitie.
Selecteer Bewerken en voeg vervolgens het volgende codefragment toe aan uw YAML-pijplijn om uw pakket te verifiëren en te publiceren:
steps: - task: NuGetToolInstaller@1 # Minimum required NuGet version: 4.8.0.5385+. displayName: 'NuGet Tool Installer' - task: NuGetAuthenticate@1 # Authenticate with Azure Artifacts and other NuGet registries. displayName: 'NuGet Authenticate' - script: | nuget.exe push -Source "https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json" -ApiKey az $(Build.ArtifactStagingDirectory)\*.nupkg displayName: Push
Meld u aan bij uw Azure DevOps en navigeer vervolgens naar uw project.
Selecteer Pijplijnen en selecteer vervolgens uw pijplijndefinitie.
Selecteer Bewerken en voeg vervolgens het volgende codefragment toe aan uw YAML-pijplijn om uw pakket te verifiëren en te publiceren:
steps: - task: NuGetToolInstaller@1 # Minimum required NuGet version: 4.8.0.5385+. displayName: 'NuGet Tool Installer' - task: NuGetAuthenticate@1 displayName: 'NuGet Authenticate' - script: | nuget.exe push -Source "https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json" -ApiKey az $(Build.ArtifactStagingDirectory)\*.nupkg displayName: Push
Notitie
Als u pakketten wilt publiceren naar een feed met behulp van Azure Pipelines, moet u ervoor zorgen dat zowel de buildservice voor projectverzamelingen als de buildservice-id's van uw project de rol FeedUitgever (Inzender) hebben toegewezen in de feedinstellingen. Zie Machtigingen beheren voor meer informatie.
NuGet-pakketten publiceren naar een feed in een andere organisatie
Als u uw NuGet-pakketten wilt publiceren naar een feed in een andere Azure DevOps-organisatie, moet u eerst een persoonlijk toegangstoken (PAT) maken in de doelorganisatie en vervolgens een serviceverbinding maken in de organisatie waarin uw pijplijn wordt uitgevoerd. Vervolgens kunt u de serviceverbinding in uw YAML- of klassieke pijplijn gebruiken om uw pakketten te verifiëren en te publiceren.
1. Een persoonlijk toegangstoken maken
Meld u aan bij de Azure DevOps-organisatie die als host fungeert voor uw doelfeed.
Navigeer naarGebruikersinstellingen>Persoonlijke toegangstokens.
Selecteer Nieuw token, geef een beschrijvende naam op, en selecteer onder ScopesVerpakken>Lezen en Schrijven.
Selecteer Maken wanneer u klaar bent en kopieer en sla uw PAT vervolgens op een veilige locatie op, omdat u deze nodig hebt om de serviceverbinding hierna in te stellen.
2. Een serviceverbinding maken
Meld u aan bij de Azure DevOps-organisatie waar uw pijplijn wordt uitgevoerd en navigeer naar uw project.
Navigeer naar uw Project settings>Service-verbindingen.
Selecteer Nieuwe serviceverbinding, selecteer NuGet en selecteer vervolgens Volgende.
Selecteer Externe Azure DevOps-server als verificatiemethode en voer vervolgens de URL van de doelfeed in. Plak het persoonlijke toegangstoken dat u eerder hebt gemaakt, geef een naam op voor uw serviceverbinding en schakel het selectievakje Toegang verlenen toe aan alle pijplijnen , indien van toepassing op uw scenario.
Kies Opslaan wanneer u klaar bent.
3. Uw pakket publiceren
Meld u aan bij uw Azure DevOps-organisatie en navigeer vervolgens naar uw project.
Selecteer Pijplijnen en selecteer vervolgens uw pijplijndefinitie.
Selecteer Bewerken en voeg vervolgens het volgende codefragment toe aan uw YAML-pijplijn om uw pakket te verifiëren en te publiceren:
- task: NuGetToolInstaller@1 # Minimum required NuGet version: 4.8.0.5385+. displayName: 'NuGet Tool Installer' - task: NuGetAuthenticate@1 inputs: nuGetServiceConnections: <SERVICE_CONNECTION_NAME> - script: | nuget.exe push -Source "https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json" -ApiKey az $(Build.ArtifactStagingDirectory)\*.nupkg displayName: Push
Meld u aan bij uw Azure DevOps-organisatie en navigeer vervolgens naar uw project.
Selecteer Pijplijnen en selecteer vervolgens uw pijplijndefinitie.
Selecteer Bewerken en voeg vervolgens het volgende fragment toe aan uw YAML-pijplijn.
- task: NuGetToolInstaller@1 # Minimum required NuGet version: 4.8.0.5385+. displayName: 'NuGet Tool Installer' - task: NuGetAuthenticate@1 # Authenticate with Azure Artifacts and other NuGet registries. inputs: nuGetServiceConnections: <SERVICE_CONNECTION_NAME> # Name of the service connection used to authenticate with feeds across organizations or public registries. - script: | nuget.exe push -Source "https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json" -ApiKey az $(Build.ArtifactStagingDirectory)\*.nupkg displayName: Push