Artifactory est un produit de JFrog qui sert de gestionnaire de référentiel binaire . Cela dit, très souvent, on utilisera un «artificiel» comme synonyme du référentiel binaire plus général, un peu comme beaucoup de gens utilisent Frigidaire ou réfrigérateur pour désigner le réfrigérateur, qu’il s’agisse d’une marque Frigidaire ou non.
Le référentiel binaire est une extension naturelle du référentiel de code source, en ce sens qu'il stockera le résultat de votre processus de construction, souvent désigné sous le nom d'artefacts. La plupart du temps, le référentiel binaire ne serait pas utilisé directement, mais via un gestionnaire de paquets fourni avec la technologie choisie.
Dans la plupart des cas, ceux-ci stockent des composants d'application individuels qui peuvent ensuite être assemblés dans un produit complet, ce qui permet de diviser une génération en fragments plus petits, d'utiliser plus efficacement les ressources, de réduire les temps de génération, de mieux suivre les bases de données de débogage binaires, etc.
Voici quelques-uns des gestionnaires de paquets les plus populaires pouvant être gérés à l'aide d'un référentiel binaire:
- Java: pot, oreille, guerre, etc. a Maven et le MavenCentral officiel . Il existe de nombreux autres gestionnaires de paquets qui utiliseront également le format de référentiel binaire maven ( ivy , gradle, etc.).
- .Net: nuget pour les composants .NET (DLL et EXE), mais peut également être utilisé comme mécanisme de distribution sous des systèmes Windows tels que Chocolatey . Les versions les plus récentes de Powershell peuvent également en tirer parti pour distribuer des modules powershell via la galerie powershell, dans laquelle on pourrait créer une distribution locale avec un référentiel binaire et un référentiel au format nuget. Vérifiez également OneGet si la gestion de la distribution Windows vous intéresse.
- En JavaScript: nous avons npm qui est l’un des plus populaires, il faudra des nœuds .
- En python: il existe pip et l’index officiel du package, pypi , qu’il est également possible de créer une instance locale via un référentiel binaire qui prendra en charge le format.
Cette liste est loin d'être complète, elle donne juste une idée de ce qui se passe.
Le référentiel binaire peut permettre d’héberger tous ces éléments sous un même toit, ce qui simplifie considérablement leur gestion pour les équipes. Notez que vous n’avez pas besoin d’une très grande équipe pour commencer à tirer des avantages de la gestion des paquets binaires. L'investissement initial n'est pas très important et les avantages sont ressentis immédiatement. Surtout maintenant que de plus en plus de plates-formes, de frameworks et de langages intègrent directement cette gestion de dépendance. Leur principal avantage, cependant, est de créer un environnement que vos programmeurs trouveront naturel et confortable, ce qui le rend indispensable. En tant que développeur, il vous aide à créer une chaîne d'outils solide et à intégrer naturellement l'expérience globale dans leur pile de choix.
Comme je l’ai dit plus tôt, de nombreux produits peuvent servir de gestionnaires de paquets binaires, certains plus génériques que d’autres dans leur utilisation cible, variant considérablement en termes d’accessibilité et de prix.
Mon opinion personnelle est que les référentiels binaires sont aussi essentiels à une configuration bien conçue de devops que le référentiel de code source ou l'intégration continue.