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
- Une organisation Azure DevOps. Créez une organisation, si vous n’en avez pas déjà.
- Un projet Azure DevOps. Si vous n’en avez pas encore, vous pouvez créer un projet.
- Un flux Azure Artifacts. Créez un flux si vous n’en avez pas déjà.
- Connectez-vous au flux Azure Artifacts NuGet.exe, dotnet.
- Configurez vos autorisations de pipeline.
Restaurer des packages NuGet à partir d’un flux
Accédez à votre définition de pipeline classique, puis sélectionnez Modifier.
Sélectionnez + pour ajouter une nouvelle tâche. Recherchez NuGet, puis sélectionnez Ajouter pour ajouter la tâche à votre pipeline.
Nommez votre tâche et sélectionnez Restaurer dans la commande.
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.
Si vous souhaitez inclure des packages à partir de NuGet.org, cochez la case Utiliser les packages de NuGet.org.
Sélectionnez Enregistrer et mettre en file d’attente lorsque vous avez terminé.
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
Accédez à votre organisation Azure DevOps, puis sélectionnez Paramètres utilisateur>Jetons d’accès personnel.
Créez un jeton d’accès personnel (PAT) avec l’étendue Packages (lecture) et copiez votre PAT dans le presse-papiers.
Restaurer des packages NuGet
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.
Sélectionnez Flux et authentification, puis sélectionnez Flux dans mon fichier NuGet.config.
Sélectionnez le chemin d’accès de votre fichier NuGet.config.
Sélectionnez Nouveau pour ajouter des informations d’identification pour les flux en dehors de cette organisation/collection.
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.
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.