Partager via


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

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.

  1. Connectez-vous à votre organisation Azure DevOps, puis sélectionnez votre projet public.

  2. Sélectionnez Artifacts, puis sélectionnez Créer un flux.

    Capture d’écran montrant le bouton créer un flux dans Azure Artifacts.

  3. Attribuez un nom à votre flux, puis sélectionnez Projet : PublicProject (recommandé) pour son étendue.

    Capture d’écran montrant comment créer un flux public.

  4. 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

  1. Connectez-vous à votre organisation Azure DevOps, puis sélectionnez votre projet public.

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

  3. Sélectionnez l’icône d’engrenage icône d’engrenage d’engrenage pour accéder à vos paramètres de flux.

  4. Sélectionnez Sources en amont, puis Ajouter en amont.

    Capture d’écran montrant comment ajouter une source en amont dans un flux public.

  5. Sélectionnez votre type de source en amont. Dans cet exemple, nous allons ajouter NuGet.org en tant que source en amont.

    Capture d’écran montrant les différents types de sources en amont.

  6. Configurez votre source, puis sélectionnez Ajouter une fois que vous avez terminé.

    Capture d’écran montrant comment configurer votre source en amont.

  7. Sélectionnez Enregistrer pour enregistrer votre nouvelle source en amont.

    Capture d’écran montrant comment enregistrer la source en amont nouvellement ajoutée.

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 :

nuget.exe restore

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 :

  1. É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.

  2. 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>