Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Med Azure Artifacts kan utvecklare effektivt hantera alla sina beroenden från en enda feed. Feeds i Azure Artifacts fungerar som organisationens lagringsplatser för lagring, hantering och delning av paket oavsett om de finns i ett team, mellan organisationer eller offentligt på Internet. Azure Artifacts stöder ett brett utbud av pakettyper, inklusive NuGet, npm, Python, Maven, Cargo och Universal Packages.
Den här artikeln beskriver hur du publicerar ditt första NuGet-paket till en Azure Artifacts-feed. Du kan också följa anvisningarna för att använda GitHub Copilot för att konfigurera projektet och förbereda paketet för publicering.
Förutsättningar
| Produkt | Krav |
|---|---|
| Azure DevOps | – En organisation i Azure DevOps . – Ett Azure DevOps-projekt. – Ladda ned och installera .NET SDK version 9.0.200 eller senare. |
| GitHub Copilot (valfritt) | - Konfigurera GitHub Copilot och Visual Studio Code. En kostnadsfri utvärderingsversion av GitHub Copilot på 30 dagar är tillgänglig om du inte har registrerat dig ännu. |
Skapa en feed
Om du redan har en feed kan du hoppa över det här avsnittet. Annars följer du stegen nedan för att skapa en ny feed i Azure Artifacts:
Logga in på din Azure DevOps-organisation och navigera sedan till projektet.
Välj Artefakter och välj sedan Skapa feed.
Ange ett beskrivande namn för feeden och ange dess synlighet för att definiera vem som kan visa paket i feeden. Definiera omfånget för flödet och markera kryssrutan Överordnade källor om du vill inkludera paket från offentliga källor.
Välj Skapa när du är klar.
Logga in på din Azure DevOps-samling och navigera sedan till projektet.
Välj Artifacts och välj sedan Skapa feed.
Ange ett beskrivande namn för feeden och ange dess synlighet för att definiera vem som kan visa paket i feeden. Definiera omfånget för flödet och markera kryssrutan Överordnade källor om du vill inkludera paket från offentliga källor.
Välj Skapa när du är klar.
Förbereda paketet
I det här exemplet använder du ett .NET Core-exempelklassbibliotek och konfigurerar paketmetadata innan du skapar projektet och skapar ett NuGet-paket som är redo för publicering i feeden. Om du inte har något projekt ännu följer du anvisningarna i den här guiden för att skapa ett .NET-klassbibliotek med Visual Studio Code.
Öppna projektet i Visual Studio Code och välj sedan csproj-filen . Lägg till paketmetadata i taggen
<PropertyGroup>. Filen bör likna följande:<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>Kör följande kommando i projektkatalogen för att skapa projektet och skapa ett .nupkg-paket . Paketet finns i
bin\releasemappen .dotnet pack
Konfigurera providern för Azure Artifacts-autentiseringsuppgifter
Om du vill autentisera med feeden måste du först installera providern Azure Artifacts Credential. Med hjälp av installationsprogrammet för verktyget som ingår i dotnet kan du installera providern för autentiseringsuppgifter från CLI med hjälp av följande kommando:
dotnet tool install --global Microsoft.Artifacts.CredentialProvider.NuGet.Tool
Om nuget.config har konfigurerats för att endast använda Azure Artifacts källor kör du installationskommandot utanför katalogen eller anger uttryckligen nuget.org som källa:
dotnet tool install --global Microsoft.Artifacts.CredentialProvider.NuGet.Tool --source https://api.nuget.org/v3/index.json
Alternativt kan du låsa verktyget till en huvudversion (till exempel i containeravbildningar där reproducerbarhet är viktigt):
dotnet tool install --global Microsoft.Artifacts.CredentialProvider.NuGet.Tool --version 2.* --source https://api.nuget.org/v3/index.json
Första användningen
Använd någon av följande metoder första gången du utför en åtgärd som kräver autentisering:
- Kör kommandot med
--interactiveså attdotnetkan uppmana dig att logga in. Detta är den rekommenderade metoden för de flesta lokala utvecklingsscenarier.
Innan du kör ett interaktivt kommando kontrollerar du att projektet har konfigurerats och att feeden har lagts till inuget.config. Information om installation finns i projektkonfiguration.
När projektet har konfigurerats och anslutits till feeden går du till projektkatalogen och kör:
dotnet restore --interactive
Det här kommandot loggar in dig och hämtar en sessionstoken. När du har loggat in kan du köra autentiserade kommandon utan --interactive, så länge den cachelagrade sessionstoken är giltig. Mer information finns i Cacheplatser för sessionstoken.
- För icke-interaktiva scenarier, till exempel Docker-containrar och anpassad automatisering, anger du autentiseringsuppgifter via miljövariabler.
För Azure-pipelines använder du uppgiften NuGetAuthenticate@1 för att autentisera till feeden innan du kör kommandon som dotnet restore eller dotnet nuget push. Mer information finns i Restore NuGet-paket med Azure-pipelines.
Anslut till ett flöde
Följ stegen nedan för att konfigurera projektet och ansluta till Azure Artifacts-flödet. Kontrollera att du har installerat Azure Artifacts-autentiseringsprovidern och den senaste versionen av NuGet enligt vad som beskrivs i förutsättningarna.
Logga in på din Azure DevOps-organisation och navigera sedan till projektet.
Välj Artefakter och välj sedan din feed på den nedrullningsbara menyn.
Välj Anslut till feeden och välj sedan dotnet i avsnittet NuGet.
Följ anvisningarna i Project-konfigurationen för att konfigurera nuget.config-filen. Strukturen för filen bör likna något av följande:
Projektspecifikt flöde:
<?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>Organisationsomfattande flöde:
<?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>
Logga in på din Azure DevOps-samling och navigera sedan till projektet.
Välj Artefakter och välj sedan din feed från den nedrullningsbara menyn.
Välj Anslut till feeden och välj sedan dotnet i det vänstra navigeringsfältet.
Följ anvisningarna i avsnittet Project setup (Projektkonfiguration) för att konfigurera dinnuget.config-fil .
Publicera ditt paket
Kör följande kommando från projektkatalogen för att publicera paketet till din Azure Artifacts-feed. Parametern --api-key krävs, men du kan använda valfritt strängvärde när du publicerar till Azure Artifacts.
dotnet nuget push --source <FEED_NAME> --api-key <ANY_STRING> <PACKAGE_PATH>