Qu'est-ce qu'un référentiel d'artefacts? Si c'est juste un endroit pour stocker des fichiers, ne puis-je pas simplement utiliser un système de contrôle de source?
Qu'est-ce qu'un référentiel d'artefacts? Si c'est juste un endroit pour stocker des fichiers, ne puis-je pas simplement utiliser un système de contrôle de source?
Réponses:
Pendant le développement, vous générez une bonne quantité d'artefacts différents. Ceux-ci pourraient inclure:
et potentiellement d'autres aussi
Bien que vous puissiez utiliser un système de contrôle de source pour tous les stocker, il est généralement extrêmement inefficace, car les systèmes de contrôle de source sont généralement conçus pour gérer des fichiers texte et non des fichiers binaires. Vous pourriez être en mesure de les utiliser comme un mécanisme de stockage simple, si la plupart de vos versions sont basées sur du texte et que vous n'avez pas à stocker beaucoup de données binaires.
Les référentiels d'artefacts sont cependant conçus pour stocker toutes sortes de fichiers, y compris les fichiers binaires. Cela inclut tout, des codes source zippés aux résultats de construction, en passant par des images comme les images docker. En outre, ils stockent généralement non seulement ces artefacts, mais aident également à les gérer à l'aide de diverses fonctions supplémentaires, par exemple:
Il existe des gestionnaires de référentiels et des gestionnaires de référentiels de packages universels (UPM).
Les UPM peuvent stocker tous vos artefacts de build pour Jenkins, teamcity, etc. et peuvent généralement également servir de gestionnaires de référentiel pour de nombreux types d'artefacts binaires Maven, npm, NuGet et plus encore.
Il s'agirait d'outils comme Jfrog Artifactory , Inedo ProGet et Sonatype Nexus .
Une comparaison assez décente est ici: https://binary-repositories-comparison.github.io/