Concepts relatifs au registre d'objets
Passez en revue les concepts et les termes liés au registre d'artefacts.
Un artefact est un ensemble de logiciels, une bibliothèque, un fichier zip ou tout autre type de fichier utilisé pour déployer des applications. Il peut s'agir, par exemple, de bibliothèques Python ou Maven. Les artefacts sont regroupés dans des référentiels, qui sont des ensembles d'artefacts connexes. Par exemple, vous pouvez regrouper plusieurs versions d'un artefact Maven dans un référentiel Maven ou charger vos bibliothèques Python dans un référentiel Python.
Noms de référentiel et d'artefact dans le registre d'objets
Lorsque vous créez un référentiel dans lequel regrouper des artefacts similaires, vous lui affectez le nom de référentiel <repo-name>. Le nom doit commencer par une lettre ou un trait de soulignement, suivi de lettres, de chiffres, de tirets ou de traits de soulignement. Il peut comporter entre 1 et 255 caractères. Évitez d'entrer des informations confidentielles.
Exemple : web-app-repo
Si vous laissez le nom vide, le système générera automatiquement un nom que vous pourrez modifier plus tard. Un nom généré automatiquement a le modèle suivant : artifactrepository<timestamp>
Exemple : artifactrepository20210423180901
Lorsque vous chargez un artefact dans un référentiel, vous indiquez son chemin et sa version. Selon votre entrée, un nom d'artefact est affecté à l'artefact dans le format suivant :
<artifact-path>:<version>
Exemple : project01/my-web-app/artifact-abc:1.0.0
- Le chemin d'artefact <artifact-path> est un chemin défini par l'utilisateur qui décrit l'emplacement de l'artefact dans le référentiel. Les barres obliques ne créent pas de structure de répertoire, mais vous pouvez utiliser des barres obliques pour organiser le référentiel.
Exemple : project01/my-web-app/artifact-abc
- La version <version> est la version de l'artefact. En raison des mises à jour incrémentielles des artefacts, vous pouvez affecter des versions aux artefacts. Ainsi, vous pouvez associer des compilations aux versions d'artefact et revenir aux versions précédentes.
Exemples : 1.1.0 ou 1.2-beta-2
Un nom d'artefact est tronqué à une longueur maximale de 255 caractères.
Artefacts non mutables dans le registre d'artefacts
Lorsque vous créez un référentiel, vous pouvez le désigner comme non mutable, ce qui signifie que les artefacts qui y ont été chargés deviennent non mutables. Ces artefacts sont utilisés tels quels et ne peuvent pas être remplacés. Les référentiels non mutables garantissent l'intégrité des artefacts. Voici quelques cas d'utilisation courants pour les artefacts non mutables :
- Repositionnement d'un déploiement : Pour un repositionnement, vous utilisez les fichiers exacts de la version de travail précédente d'un déploiement. Les artefacts non mutables garantissent que personne n'a modifié la dernière version de travail après le chargement des artefacts dans le référentiel.
- Code de contribution : Dans un projet de déploiement, pour garantir que la modification du code d'un développeur n'a aucune incidence sur les autres, il est recommandé de rendre tous les artefacts non mutables. Par exemple, si vous avez une image de lapin dans website-image.png, personne ne peut la remplacer par une image de renard. Le remplacement d'une image ne casse pas le code, mais en modifie le résultat. Au lieu de remplacer un artefact non mutable, il est préférable de charger un nouvel artefact.
La suppression d'un artefact, puis l'utilisation du même nom d'artefact pour charger un nouvel artefact, sont les mêmes que le remplacement du contenu de cet artefact.
Un artefact non mutable peut être supprimé mais ne peut pas être remplacé. Si vous supprimez un artefact non mutable, vous ne pouvez pas affecter son nom à un autre artefact. Par conséquent, vous ne pouvez pas charger un nouvel artefact et lui affecter le chemin et la version de l'artefact supprimé. Toutefois, vous pouvez lui attribuer le même chemin avec une nouvelle version.
Si un référentiel n'est pas non mutable, les artefacts qu'il contient peuvent être remplacés. Par exemple, vous pouvez utiliser des instantanés mutables de référentiels non mutables à des fins de test.
États d'artefact dans le registre d'objets
Vous pouvez filtrer les artefacts d'un référentiel en fonction de leur état. Les états possibles sont :
AVAILABLE
DELETED
Par exemple, avant de nommer un artefact, vous pouvez filtrer les artefacts ayant un état DELETED
. Ainsi, vous pouvez vous assurer que lorsque vous chargez un nouvel artefact, vous n'utilisez pas le nom d'un artefact supprimé.
Lorsque vous chargez un artefact dans un référentiel, le registre d'artefacts calcule le condensé SHA256 de l'artefact et l'ajoute aux propriétés de l'artefact. Le condensé SHA256 est un algorithme de hachage sécurisé de 256 bits.
Identification des artefacts avec hachage sécurisé dans le registre d'artefacts
Lorsque vous annulez ou utilisez un artefact dans votre code, comparez son condensé SHA256 au condensé SHA256 de l'artefact dans le référentiel. Si les artefacts ont des condensés SHA256 différents, leur contenu est différent.