Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
Cet article vous guide tout au long de la connexion à vos packages de flux et de publication à l’aide de deux flux d’authentification : le fournisseur d’informations d’identification Azure Artifacts pour les flux de votre propre organisation et un jeton d’accès personnel (PAT) pour les flux hébergés dans une autre organisation.
Conditions préalables
- Une organisation Azure DevOps.
- Un projet Azure DevOps.
- Un flux Azure Artifacts.
-
nuget.exe version
4.8.0.5385ou ultérieure. Azure Artifacts recommande NuGet5.5.xou version ultérieure pour la meilleure compatibilité et la fiabilité. - Pour publier des packages, vous devez être Feed Publisher (Contributeur) ou avoir un rôle supérieur.
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
Téléchargez la dernière version Microsoft.NetFx48.NuGet.CredentialProvider.zip.
Extrayez le fichier zip.
Copiez le
netfxdossier de l’archive extraite vers%UserProfile%/.nuget/plugins/. Lenetfxdossier 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
Avant de pouvoir publier vos packages, configurez votre projet et connectez-vous à votre flux comme suit :
Connectez-vous à votre organisation Azure DevOps, puis accédez à votre projet.
Sélectionnez Artefacts, puis sélectionnez votre flux dans le menu déroulant.
Sélectionnez Se connecter au flux, puis sélectionnez NuGet.exe dans le volet de navigation gauche.
Ajoutez un
nuget.configfichier à votre projet, dans le même dossier que votre.csprojou.slnfichier. 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>
Connectez-vous à votre serveur Azure DevOps, puis accédez à votre projet.
Sélectionnez Artefacts, puis sélectionnez votre flux.
Sélectionnez Se connecter au flux, puis sélectionnez NuGet.exe dans le volet de navigation gauche.
Ajoutez un
nuget.configfichier à votre projet, dans le même dossier que votre.csprojou.slnfichier, puis collez l’extrait de code XML fourni dans votre fichier.
Publier sur un flux dans la même organisation
Après avoir configuré nuget.config et authentifié à l’aide du fournisseur d’informations d’identification Azure Artifacts, 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> -Source 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 -Source https://pkgs.dev.azure.com/MyOrg/MyProject/_packaging/MyFeed/nuget/v3/index.json -ApiKey AZ
Note
Le fournisseur d’informations d’identification Azure Artifacts gère l’authentification réelle pour l’envoi (push), mais NuGet nécessite toujours une -ApiKey valeur pour accepter la commande. Azure Artifacts ignore la valeur que vous fournissez, de sorte que toute chaîne non vide fonctionne.
Publier sur un flux dans une autre organisation
Si le flux cible se trouve dans une autre organisation Azure DevOps, créez un PAT dans cette organisation et ajoutez le flux en tant que source dans votre nuget.config fichier.
Créez un jeton d’accès personnel (PAT) dans l’organisation cible avec l’étenduede lecture et d’écritured’empaquetage>.
Exécutez la commande suivante pour ajouter le flux en tant que source. Cette commande ajoute votre PAT dans
nuget.config; conservez donc ce fichier en lieu sûr et ne l’ajoutez pas au contrôle de code 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>Publiez le package à l’aide du nom source que vous venez d’ajouter.
nuget push <PACKAGE_PATH> -Source <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 -Source MySource -ApiKey AZ
Note
Si votre organisation utilise un pare-feu ou un serveur proxy, autorisez les URL et adresses IP de domaine Azure Artifacts.
Troubleshooting
L’invite d’authentification n’apparaît pas
Vérifiez que le fournisseur d'informations d'identification Azure Artifacts est installé et que vous utilisez la version de NuGet ou une version 4.8.0.5385 ultérieure. Pour connaître les étapes de configuration, consultez Se connecter aux flux Azure Artifacts avec NuGet.exe.
La publication échoue, car la version existe déjà
Les versions de package dans Azure Artifacts sont immuables. Après avoir publié une version, vous ne pouvez pas la remplacer ou réutiliser le même numéro de version, même si vous supprimez le package. Mettez à jour la version du package, régénérez le package, puis publiez-le à nouveau.
La publication échoue derrière un pare-feu ou un proxy
Autorisez les URL et adresses IP du domaine Azure Artifacts, puis réessayez l’opération de publication.
Échec de la publication avec une erreur 403
Cette erreur signifie généralement que votre compte n’a pas d’autorisations de publication sur le flux. Vous devez disposer au minimum du rôle Feed Publisher (Contributor) pour publier des packages. Demandez à un propriétaire de flux de mettre à jour votre rôle, puis réessayez.