Dela via


Publicera NuGet-paket från kommandoraden (dotnet)

Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019

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 Azure DevOps-organisation.
– Ett Azure DevOps-projekt.
– En Azure Artifacts-feed.
– Ladda ned och installera Azure Artifacts Credential Provider.
– Ladda ned och installera .NET Core SDK (2.1.400+).

Anslut till en feed

  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:

  • Flöde på organisationsnivå

    <?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>
    
  • Flöde med projektomfattning:

    <?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.

Not

dotnet stöds inte i Azure DevOps Server 2019.

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

Not

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

Publicera paket till en feed i en annan organisation

Om du vill publicera dina NuGet-paket till en feed i en annan Azure DevOps-organisation måste du först skapa en personlig åtkomsttoken (PAT) i målorganisationen.

  1. Gå till den organisation som är värd för målflödet och skapa en personlig åtkomsttoken (PAT) med Packaging>Read & write scope.

  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

NotE

Om din organisation använder en brandvägg eller en proxyserver ser du till att du tillåter Azure Artifacts-domän-URL:er och IP-adresser.