Concepts clés pour Azure Artifacts
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019
Caractère immuable
Une fois que vous avez publié une version particulière d’un package dans un flux, ce numéro de version est réservé définitivement. Vous ne pouvez pas charger un package de révision plus récent avec ce même numéro de version, ou le supprimer et charger un nouveau package avec le même numéro de version.
De nombreux clients de package, notamment NuGet et npm, conservent un cache local de packages sur votre ordinateur. Une fois qu’un client a mis en cache une version de package particulière, il retourne cette copie lors des futures demandes d’installation/restauration.
Si, côté serveur, vous remplacez une version de package v1 par une nouvelle version v2, le client ne peut pas faire la différence. Cela peut entraîner des résultats de build indéterminés à partir de différentes machines. Par exemple, la machine d’un développeur et l’agent de build peuvent avoir mis en cache différentes révisions du package, ce qui entraîne des résultats de build inattendus.
Si un package est rompu, bogue ou partage du contenu inattendu (comme les secrets), la meilleure approche consiste à préparer un correctif et à le publier en tant que nouvelle version. Ensuite, en fonction de la gravité du problème et de la grande dépendance du package, vous pouvez supprimer le package pour le rendre indisponible pour la consommation.
La seule façon de contourner la contrainte d’immuabilité consiste à créer un flux et à publier la version de package souhaitée sur le nouveau flux.
Remarque
Les flux supprimés restent dans la corbeille pendant 30 jours, puis sont supprimés définitivement. Le nom du flux devient disponible une fois le flux supprimé définitivement.
Indexation
Azure Artifacts conserve un index de tous les packages de chaque flux, ce qui permet d’effectuer des opérations de liste rapide. Les opérations de liste sur vos partages de fichiers nécessitent que le client ouvre chaque package et examine ses métadonnées, sauf si votre partage de fichiers a été configuré pour fournir un index que le client comprend.
Bonne forme
Azure Artifacts valide tous les packages publiés pour s’assurer qu’ils sont bien formés. Cela empêche les packages non valides d’entrer dans vos environnements de développement et de génération. Toutefois, tout flux de travail qui publie des packages mal formés s’interrompt lors de la migration vers 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, puis sont supprimés définitivement. Les propriétaires de flux peuvent récupérer les packages supprimés de la Corbeille.