Publier des packages NuGet à partir de la ligne de commande (NuGet.exe)

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

Cet article vous guide tout au long de la configuration de votre projet et de la publication de vos packages NuGet à l’aide de l’interface de ligne de commande NuGet.

Conditions préalables

Produit Exigences
Azure DevOps - Une organisation Azure DevOps .
- Un projet Azure DevOps .
- Un flux Azure Artifacts.
- Téléchargez et installez nuget.exe version 4.8.0.5385 ou ultérieure. Nous recommandons NuGet 5.5.x ou version ultérieure, qui inclut des correctifs de bogues importants pour les annulations et les délais d’expiration.

Configurer le fournisseur d’informations d’identification Azure Artifacts

Le fournisseur d’informations d’identification Azure Artifacts permet une authentification sécurisée à vos flux de Azure Artifacts. Pour l’utiliser avec nuget.exe, vous devez d’abord l’ajouter au chemin de recherche du plug-in NuGet. Pour plus d’informations, consultez Installation et découverte du plug-in. Une fois le plug-in ajouté, suivez les étapes d’installation de votre système d’exploitation :

Utilisez l’une des méthodes suivantes pour installer le fournisseur d’informations d’identification Azure Artifacts :

Installation manuelle

  1. Téléchargez la dernière version Microsoft.NetFx48.NuGet.CredentialProvider.zip.

  2. Extrayez le fichier zip.

  3. Copiez le netfx dossier de l’archive extraite vers %UserProfile%/.nuget/plugins/. Le netfx dossier est requis pour la compatibilité nuget.exe.

Installer à l’aide du script d’assistance

Vous pouvez également utiliser le script d’assistance automatisé pour une installation simplifiée. Vérifiez que vous disposez de PowerShell 5.1 ou version ultérieure, puis exécutez :

iex "& { $(irm https://aka.ms/install-artifacts-credprovider.ps1) } -AddNetfx"

Pour plus d’informations, consultez le référentiel Azure Artifacts Credential Provider.

Se connecter à un flux

  1. Connectez-vous à votre organisation Azure DevOps, puis accédez à votre projet.

  2. Sélectionnez Artefacts, puis sélectionnez votre flux dans le menu déroulant.

  3. Sélectionnez Se connecter au flux, puis sélectionnez NuGet.exe dans le volet de navigation gauche.

  4. Ajoutez un fichier nuget.config à votre projet, dans le même dossier que votre fichier .csproj ou .sln. Collez l’extrait de code XML fourni dans votre fichier. L’extrait de code doit ressembler à ce qui suit :

    • Flux à l'échelle de l'organisation :

      <?xml version="1.0" encoding="utf-8"?>
      <configuration>
        <packageSources>
          <clear />
          <add key="<SOURCE_NAME>" value="https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json" />
        </packageSources>
      </configuration>
      
    • Flux à l'échelle du projet :

      <?xml version="1.0" encoding="utf-8"?>
      <configuration>
        <packageSources>
          <clear />
          <add key="<SOURCE_NAME>" value="https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json" />
        </packageSources>
      </configuration>
      
  1. Connectez-vous à votre serveur Azure DevOps, puis accédez à votre projet.

  2. Sélectionnez Artefacts, puis sélectionnez votre flux.

  3. Sélectionnez Se connecter au flux, puis sélectionnez NuGet.exe dans le volet de navigation gauche.

  4. Suivez les instructions de la section Configuration du projet pour vous connecter à votre flux.

Publier des packages dans un flux dans la même organisation

Note

Pour publier des packages dans un flux, vous devez être un éditeur de flux (contributeur) ou plus. Consultez la section Gérer les permissions pour plus de détails.

Exécutez la commande suivante pour publier un package sur votre flux. Remplacez les espaces réservés par les valeurs appropriées :

nuget push <PACKAGE_PATH> -src https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json -ApiKey <ANY_STRING>

Exemple :

nuget push MyPackage.5.0.2.nupkg -src https://pkgs.dev.azure.com/MyOrg/MyProject/_packaging/MyFeed/nuget/v3/index.json -ApiKey AZ

Note

Le api-key est obligatoire, mais vous pouvez fournir n'importe quelle chaîne comme valeur lors de la publication dans un flux Azure Artifacts.

Publier des packages dans un flux dans une autre organisation

Pour publier vos packages NuGet dans un flux dans une autre organisation Azure DevOps, vous devez d’abord créer un jeton d’accès personnel (PAT) dans l’organisation cible.

  1. Naviguez jusqu'à l'organisation qui héberge le flux cible et créez un jeton d'accès personnel (PAT) avec la portée d'écriture Packaging>Read& .

  2. Exécutez la commande suivante pour ajouter votre source de package à votre fichier nuget.config. Cela ajoute votre PAT à votre fichier nuget.config. Stockez ce fichier dans un endroit sûr et assurez-vous de ne pas le vérifier dans le contrôle de source.

    nuget sources Add -Name <SOURCE_NAME> -Source https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json -UserName <USER_NAME> -Password <PERSONAL_ACCESS_TOKEN> -config <PATH_TO_NUGET_CONFIG_FILE>
    
  3. Exécutez la commande suivante pour publier votre package :

    nuget push <PACKAGE_PATH> -src <SOURCE_NAME> -ApiKey <ANY_STRING>
    

Exemple :

nuget sources Add -Name "MySource" -Source https://pkgs.dev.azure.com/MyOrg/MyProject/_packaging/MyFeed/nuget/v3/index.json -UserName MyUserName -Password YourPersonalAccessToken -config ./nuget.config
nuget push nupkgs/mypackage.1.1.8.nupkg -src MySource -ApiKey AZ

Note

Si votre organisation utilise un pare-feu ou un serveur proxy, veillez à autoriser les URL et adresses IP du domaine Azure Artifacts.