Restaurer des packages NuGet avec Azure Pipelines

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

Avec la restauration des packages NuGet, vous pouvez installer toutes les dépendances de votre projet sans avoir à les stocker dans le contrôle de code source. Cela permet un environnement de développement plus propre et une taille de référentiel plus petite. Vous pouvez restaurer vos packages NuGet à l’aide de la tâche de restauration NuGet, de l’interface de ligne de commande NuGet ou de l’interface de ligne de commande .NET Core. Cet article vous montre comment restaurer vos packages NuGet à l’aide de pipelines classiques et YAML.

Prérequis

Restaurer des packages NuGet à partir d’un flux

  1. Accédez à votre définition de pipeline classique, puis sélectionnez Modifier.

  2. Sélectionnez + pour ajouter une nouvelle tâche. Recherchez NuGet, puis sélectionnez Ajouter pour ajouter la tâche à votre pipeline.

  3. Nommez votre tâche et sélectionnez Restaurer dans la commande.

  4. Sélectionnez Flux(s) que je sélectionne ici, puis sélectionnez votre flux dans le menu déroulant. Si vous souhaitez utiliser votre propre fichier config, sélectionnez Flux dans mon fichier NuGet.config et entrez le chemin d’accès à votre fichier NuGet.config et la connexion de service si vous souhaitez vous authentifier avec des flux externes à votre organisation.

  5. Si vous souhaitez inclure des packages à partir de NuGet.org, cochez la case Utiliser les packages de NuGet.org.

  6. Sélectionnez Enregistrer et mettre en file d’attente lorsque vous avez terminé.

    Capture d’écran illustrant comment configurer la tâche de restauration NuGet.

Notes

La restauration NuGet classique utilise la tâche NuGetCommand@2. Par défaut, cette version utilise NuGet 4.1.0. Utilisez la tâche Programme d’installation de l’outil NuGet si vous souhaitez utiliser une autre version de NuGet.

Restaurer des packages NuGet localement

Placez votre fichier nuget.config dans le même dossier que votre fichier .csproj ou .sln. Votre fichier config doit ressembler à l’exemple suivant :

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <!-- remove inherited connection strings -->
    <clear />
    <!-- add an Azure Artifacts feed -->
    <add key="FabrikamFiber" value="https://pkgs.dev.azure.com/microsoftLearnModule/_packaging/FabrikamFiber/nuget/v3/index.json" />
    <!-- Get packages from NuGet.org -->
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
  </packageSources>
</configuration>

Pour restaurer vos packages NuGet, exécutez la commande suivante dans le répertoire de votre projet :

nuget.exe restore

Restaurer des packages NuGet à partir d’un flux dans une autre organisation

Pour restaurer des packages NuGet à partir d’un flux dans une autre organisation Azure DevOps, vous devez utiliser un jeton d’accès personnel pour vous authentifier.

Créer un jeton d’accès personnel

  1. Accédez à votre organisation Azure DevOps, puis sélectionnez Paramètres utilisateur>Jetons d’accès personnel.

    Capture d’écran illustrant comment créer un jeton d’accès personnel.

  2. Créez un jeton d’accès personnel (PAT) avec l’étendue Packages (lecture) et copiez votre PAT dans le presse-papiers.

    Capture d’écran illustrant comment créer un jeton d’accès personnel avec des autorisations de lecture de package.

Restaurer des packages NuGet

  1. Accédez à votre définition de pipeline et sélectionnez la tâche Restauration NuGet. Vérifiez que vous utilisez la version 2 de la tâche.

    Capture d’écran illustrant la version de la tâche de restauration NuGet.

  2. Sélectionnez Flux et authentification, puis sélectionnez Flux dans mon fichier NuGet.config.

  3. Sélectionnez le chemin d’accès de votre fichier NuGet.config.

  4. Sélectionnez Nouveau pour ajouter des informations d’identification pour les flux en dehors de cette organisation/collection.

    Capture d’écran illustrant comment configurer la tâche de restauration NuGet.

  5. Sélectionnez Azure DevOps Server externe, puis entrez votre URL de flux (vérifiez qu’elle correspond à ce qui se trouve dans votre fichier NuGet.config), votre nom de connexion de service et le jeton d’accès personnel que vous avez créé précédemment. Lorsque vous avez terminé, sélectionnez Enregistrer.

    Capture d’écran illustrant comment ajouter une nouvelle connexion de service.

  6. Sélectionnez Enregistrer et mettre en file d’attente lorsque vous avez terminé.

FAQ

Q : Mon pipeline ne parvient pas à restaurer mes packages NuGet ?

R : La tâche de restauration NuGet peut échouer pour plusieurs raisons. Le scénario le plus courant consiste à ajouter un nouveau projet qui nécessite une infrastructure cible qui n’est pas prise en charge par la version NuGet utilisée par votre pipeline. Cet échec ne se produit généralement pas dans l’environnement de développement local, car Visual Studio s’occupe de mettre à jour votre solution en conséquence. Veillez à mettre à niveau votre tâche NuGet pour passer à la dernière version.