Partager via


Concepts clés d’Azure Artifacts

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022

Azure Artifacts permet aux développeurs d’héberger et de partager différents types de packages pour simplifier la collaboration et la distribution des packages. Cet article décrit les concepts clés lors de l’utilisation d’Azure Artifacts.

Flux

Les flux Azure Artifacts sont des constructions organisationnelles qui fournissent un moyen structuré de stocker, de gérer et de partager des packages tout en contrôlant l’accès. Les flux ne sont pas limités à des types de packages spécifiques et peuvent héberger différents types, tels que npm, NuGet, Maven, Python, Cargo et Les packages universels. Les flux peuvent être limités à un projet ou à une organisation. Toutefois, seuls les flux d'étendue de projet peuvent être définis comme publics, et les flux d'étendue organisationnelle ne peuvent pas être convertis en flux d'étendue de projet.

Affichages de flux

Les vues de flux permettent aux développeurs de partager un sous-ensemble sélectionné de versions de package avec leurs consommateurs. Un cas d’usage courant partage uniquement les versions de package testées et validées tout en conservant celles qui sont toujours en cours de développement ou ne respectant pas une norme de qualité spécifique.

Par défaut, les flux incluent trois vues : @local, @prereleaseet @release. Les deux derniers peuvent être renommés ou supprimés en fonction des besoins. @local est la vue par défaut, couramment utilisée dans les sources en amont, et contient tous les packages publiés directement dans le flux, ainsi que ceux enregistrés à partir de sources en amont.

Sources en amont

Les sources en amont vous permettent de stocker des packages à partir de plusieurs sources au sein d’un seul flux. Cela inclut les packages que vous publiez et ceux enregistrés à partir de flux externes et de registres publics tels que NuGet.org ou npmjs.com. Lorsqu’une source en amont est activée sur votre flux, Azure Artifacts enregistre automatiquement une copie de tout package installé par un collaborateur ou une version ultérieure à partir de la source en amont.

Pour les gestionnaires de packages publics qui prennent en charge plusieurs flux, tels que NuGet et Maven, l’ordre dans lequel les flux sont interrogés peut varier. Par exemple, NuGet envoie des requêtes parallèles à tous les flux configurés et sélectionne la première réponse valide qu’elle reçoit, ce qui peut parfois entraîner un comportement non déterministe.

Les sources en amont aident à atténuer ce comportement non déterministe en recherchant le flux et ses sources en amont dans l’ordre suivant :

  1. Packages publiés directement dans le fil.

  2. Packages enregistrés à partir d’une source en amont.

  3. Packages disponibles à partir de sources en amont. Chaque source en amont est recherchée dans l’ordre dans lequel elles apparaissent dans la configuration du flux.

Remarque

Pour tirer pleinement parti de la fonctionnalité de recherche rapide, nous vous recommandons d’inclure un seul flux dans votre fichier de configuration.

Immuabilité

Une fois que vous avez publié une version spécifique d’un package dans un flux, ce numéro de version est réservé définitivement. Vous ne pouvez pas charger une révision plus récente du package avec ce même numéro de version, ni le supprimer et charger un nouveau package avec le même numéro de version.

Indexation

Azure Artifacts conserve un index de tous les packages de chaque flux, ce qui permet d’effectuer des opérations de liste rapide. Cela diffère des partages de fichiers, où le client doit ouvrir chaque package et examiner ses métadonnées, sauf si le partage de fichiers a été configuré pour fournir un index que le client reconnaît.

Bien-formé

Azure Artifacts valide tous les packages publiés pour garantir l’intégrité et la justesse. Cela permet d’empêcher les packages non valides d’entrer dans votre environnement de développement. Si vous disposez d’un flux de travail qui publie des packages mal formés et planifiez la migration vers Azure Artifacts, il est important de réviser votre flux de travail pendant la transition pour vous assurer que vos packages passent les vérifications de validation dans Azure Artifacts.

Corbeille

Les packages peuvent être supprimés manuellement ou en configurant des stratégies de rétention pour votre flux. Les packages supprimés restent dans la corbeille pendant 30 jours avant qu’ils ne soient automatiquement supprimés définitivement. Seuls les propriétaires de flux peuvent récupérer les packages supprimés de la corbeille.

Vous devez également être propriétaire de flux pour supprimer des flux. Les flux supprimés restent dans la corbeille pendant 30 jours avant qu’ils ne soient automatiquement supprimés définitivement. Une fois le flux supprimé définitivement, le nom du flux devient disponible.