Utiliser des sources en amont dans un flux public
Azure DevOps Services
Azure Artifacts permet aux développeurs de gérer leurs dépendances à partir d’un seul flux. À l’aide de sources en amont, vous pouvez consommer des packages à partir de flux et de registres publics tels que NuGet.org et npmjs.com. Dans cet article, vous allez apprendre à :
- Créer un flux public
- Activer des sources en amont
- Ajouter une nouvelle source en amont
Prérequis
Une organisation Azure DevOps. Créez une organisation, si vous n’en avez pas déjà.
Un projet Azure DevOps. Créez un projet si vous n’en avez pas déjà.
Définissez la visibilité de votre projet sur public.
Créer un flux public
Un flux public est un flux d’étendue de projet dans un projet public. Les flux publics héritent des paramètres de visibilité du projet d’hébergement.
Connectez-vous à votre organisation Azure DevOps, puis sélectionnez votre projet public.
Sélectionnez Artifacts, puis sélectionnez Créer un flux.
Attribuez un nom à votre flux, puis sélectionnez Projet : PublicProject (recommandé) pour son étendue.
Sélectionnez Créer lorsque vous avez terminé.
Important
Les flux publics ne prennent pas en charge l’amont d’un flux Artefacts privés. Si vous utilisez un flux Azure Artifacts public, vous pouvez uniquement en amont vers des registres publics (NuGet.org, npmjs) ou d’autres flux Azure Artifacts publics .
Ajouter une source en amont
Connectez-vous à votre organisation Azure DevOps, puis sélectionnez votre projet public.
Sélectionnez Artefacts, puis sélectionnez votre flux public.
Sélectionnez l’icône d’engrenage pour accéder à vos paramètres de flux.
Sélectionnez Sources en amont, puis Ajouter en amont.
Sélectionnez votre type de source en amont. Dans cet exemple, nous allons ajouter NuGet.org en tant que source en amont.
Configurez votre source, puis sélectionnez Ajouter une fois que vous avez terminé.
Sélectionnez Enregistrer pour enregistrer votre nouvelle source en amont.
Important
Les fichiers de verrouillage de package sont nécessaires pour enregistrer des packages NuGet et Dotnet à partir de sources en amont dans un flux public.
Restaurer des packages
Exécutez la commande suivante dans le répertoire de votre projet pour restaurer vos packages :
Remarque
Vous devez être un lecteur de flux et amont (collaborateur) ou une version ultérieure pour installer de nouvelles versions de package en amont. Les utilisateurs anonymes peuvent uniquement installer des packages qui existent dans leur flux.
Q&R
Q : J’essaie de restaurer mes packages, mais j’obtiens une erreur 401 non autorisée ?
Le contenu d’un flux ne peut être modifié que par une identité authentifiée et autorisée disposant des autorisations appropriées sur le flux. Cela inclut l’enregistrement de packages dans le flux à partir d’une source en amont. Les utilisateurs non authentifiés (anonymes) peuvent télécharger des packages déjà enregistrés dans un flux, mais ne peuvent pas enregistrer de nouveaux packages à partir d’un flux en amont.
Les maintenances d’un projet doivent enregistrer toutes les versions nécessaires des packages dans le flux public. Pour ce faire, restaurez un projet à l’aide d’une identité qui peut fournir des informations d’identification au flux lorsque vous y êtes invité et vous assurer que l’identité utilisée possède des autorisations de flux et de lecteur en amont (collaborateur) ou supérieures sur le flux public.
Si les utilisateurs anonymes qui restaurent des packages pour un projet sont bloqués à plusieurs reprises par les demandes d’informations d’identification (réponse 401), les approches suivantes réduisent ou éliminent le problème :
Évitez d’utiliser des plages de versions de package dans la configuration de votre projet. Les versions explicites du package garantissent que l’empaquetage des clients demande uniquement la version exacte nécessaire.
Lorsqu’ils sont pris en charge, utilisez des fichiers de verrouillage pour votre écosystème d’empaquetage afin que les clients d’empaquetage demandent uniquement les versions spécifiques nécessaires au projet pendant une opération de restauration/installation.
Q : J’essaie de restaurer mes packages à l’aide de Visual Studio, mais je constate qu’ils sont extraits d’une autre source ?
R : Vérifiez que Visual Studio utilise la source référencée dans votre fichier nuget.config et non à partir du gestionnaire de package NuGet local. Pour plus d’informations, consultez les sources de package.
Vous pouvez également utiliser l’interface CLI NuGet pour forcer NuGet à utiliser la source dans votre fichier de configuration en exécutant la commande suivante :
nuget restore -config <PATH_TO_NUGET_CONFIG_FILE>