Dela via


Publicera NuGet-paket från kommandoraden (dotnet)

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022 | Azure DevOps Server 2020

Den här guiden beskriver hur du konfigurerar projektet för att publicera NuGet-paket med hjälp av dotnet-kommandoradsgränssnittet.

Förutsättningar

Produkt Krav
Azure DevOps – En organisation i Azure DevOps .
– Ett Azure DevOps-projekt.
– Ett Azure Artifacts-flöde.
– Ladda ned och installera Azure Artifacts Credential Provider.
– Ladda ned och installera .NET Core SDK (2.1.400+).

Skapa en feed

Om du redan har en feed går du vidare till nästa steg. Annars följer du anvisningarna nedan för att skapa en ny:

  1. Logga in på Azure DevOps och gå till projektet.

  2. Välj Artefakter och välj sedan Skapa flöde.

  3. Ange ett beskrivande namn för feeden och definiera dess synlighet (vem som kan använda feeden). Ange omfånget för flödet och om du vill inkludera paket från offentliga källor markerar du kryssrutan Inkludera paket från vanliga offentliga källor .

  4. Välj Skapa när du är klar.

Anslut till en feed

Innan du kan publicera paket i feeden måste du autentisera med Azure Artifacts. Följ anvisningarna nedan för att konfigurera projektet och autentisera med feeden:

  1. Logga in på din Azure DevOps-organisation och navigera sedan till projektet.

  2. Välj Artefakteroch välj sedan din feed från rullgardinsmenyn.

  3. Välj Anslut till flödeoch välj sedan dotnet i avsnittet NuGet till vänster.

  4. Skapa en nuget.config fil i samma mapp som din csproj- eller sln fil. Kopiera följande XML-kodfragment och klistra in det i den nya filen och ersätt platshållarna med relevant information:

<?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>
  1. Logga in på Din Azure DevOps-server och navigera sedan till projektet.

  2. Välj Artefakteroch välj sedan din feed.

  3. Välj Anslut till feedoch välj sedan dotnet i det vänstra navigeringsfönstret.

  4. Följ anvisningarna i avsnittet Projektinställning för att ansluta till flödet.

    En skärmbild som visar hur du ansluter till en feed med dotnet i Azure DevOps Server 2020 och 2022.

Publicera paket till en feed i samma organisation

Kör följande kommando för att publicera ett paket i feeden. Ersätt platshållarna med lämpliga värden:

dotnet nuget push --source https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json --api-key <ANY_STRING> <PACKAGE_PATH> 

Exempel:

dotnet nuget push --source https://pkgs.dev.azure.com/MyOrg/MyProject/_packaging/MyFeed/nuget/v3/index.json --api-key AZ bin/MyPackage.5.0.2.nupkg

Obs

Parametern api-key krävs när du publicerar till en Azure Artifacts-feed, men du kan använda valfri sträng som dess värde.

Publicera paket till en feed i en annan organisation

Om du vill publicera dina NuGet-paket i en feed i en annan Azure DevOps-organisation måste du först skapa en personlig åtkomsttoken (PAT) i målorganisationen, lägga till den nya paketkällan i konfigurationsfilen och sedan köra publiceringskommandot:

  1. Gå till den organisation som är värd för målflödet och skapa en personlig åtkomsttoken (PAT) med Packaging>Läs- och skrivåtkomst räckvidd.

  2. Ersätt platshållaren <PERSONAL_ACCESS_TOKEN> med din personliga åtkomsttoken och kör sedan följande kommando för att lägga till paketkällan i nuget.config-filen. Kontrollera att den här filen lagras på ett säkert sätt och inte är incheckad i källkontrollen.

    dotnet nuget add source https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json --name <SOURCE_NAME> --username <USER_NAME> --password <PERSONAL_ACCESS_TOKEN> --configfile <PATH_TO_NUGET_CONFIG_FILE>
    
  3. Kör följande kommando för att publicera paketet:

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

Exempel:

dotnet nuget add source https://pkgs.dev.azure.com/MyOrg/MyProject/_packaging/MyFeed/nuget/v3/index.json --name MySource --username MyUserName --password MyPersonalAccessToken --configfile ./nuget.config

dotnet nuget push --source MySource --api-key AZ nupkgs/mypackage.1.1.0.nupkg

Obs

Om din organisation använder en brandvägg eller proxyserver kontrollerar du att URL:er och IP-adresser för Azure Artifacts-domäner tillåts.