Utiliser des sources amont dans un flux public

Azure Artifacts permet aux développeurs de gérer leurs dépendances à partir d’un seul flux. À l’aide de sources amont, vous pouvez utiliser 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 les sources amont
  • Ajouter une nouvelle source amont

Prérequis

Important

Les fichiers de verrouillage de package aident à générer des builds reproductibles et à réduire les scénarios dans lesquels un utilisateur anonyme sera invité à entrer des informations d’identification lors de l’utilisation de flux publics.

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

Ajouter une source 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 à votre Paramètres de flux.

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

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

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

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

  6. Configurez votre source, puis sélectionnez Enregistrer lorsque vous avez terminé.

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

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

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

Important

Les flux publics ne prennent pas en charge amont ing vers un flux Artefacts privés. Si vous utilisez un flux Azure Artifacts public, vous pouvez uniquement amont aux registres publics (NuGet.org, npmjs) ou à d’autres flux Azure Artifacts publics.

Restaurer des packages

Exécutez la commande suivante dans une invite de commandes avec élévation de privilèges :

nuget.exe restore

Remarque

Vous devez être un lecteur de flux et en amont (collaborateur) ou une version ultérieure pour installer de nouvelles versions de package à partir de amont. Les utilisateurs anonymes peuvent uniquement installer des packages qui existent dans leur flux.

Questions et réponses

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 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 amont dans le flux.

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>