Le mois dernier, JFrog a annoncé la disponibilité d'Artifactory 4, un référentiel binaire unifié pour Maven, NPM, Docker, Vagrant et nombreux autres formats de packaging au sein d'un service unique, désormais rebaptisé comme un Référentiel Universel d'Artéfacts. En fournissant la sécurité, l'évolutivité et la fiabilité, il se positionne pour assurer le cycle de vie de Dev vers Ops.
Shlomi Ben Haim, PDG de JFrog, explique la notion de référentiel universel d'artéfacts : "Le monde n'a pas juste besoin d'un autre registre Docker ou référentiel Maven. [Les entreprises] vivent dans un monde multi-plateformes, alors que des nouvelles technologies telles que Docker arrivent chaque année. Elles ont exigé un référentiel universel d'artéfacts qui peut évoluer pour répondre à leurs charges de travail les plus exigeantes et les libérer de leur asservissement à une plateforme particulière". Le communiqué de presse résume les nouvelles fonctionnalités des versions récentes.
InfoQ s'est entretenu avec Baruch Sadogursky, Developer Advocate à JFrog, à propos des caractéristiques techniques sous-jacentes d'Artifactory 4. Les versions jusqu'à la 4.1 contiennent les fonctionnalités particulières suivantes :
- Nouvelle Interface/Expérience Utilisateur : L'interface utilisateur d'Artifactory 4 reflète l'évolution grandissante d'un workflow largement axé Java/Maven vers un référentiel universel utilisé dans le cycle de vie DevOps entier. Des assistants de configuration et des extraits de code simplifient l'intégration dans les clients et les outils IC / DevOps.
- Centrage sur les Métadonnées : Artifactory supporte les workflows basés sur des métadonnées et un langage de requêtage (AQL). L'ajout, la lecture et la recherche des propriétés se font via une API RESTful. Artifactory est capable de calculer automatiquement des métadonnées lorsque les types de paquetage simple sont utilisés.
- Proxy VCS : Les dépôts distants tels que Git/GitHub (y compris les fichiers volumineux avec git LFS) peuvent être consultés par Artifactory pour faciliter l'utilisation d'un pare-feu et la gestion de configuration.
- Intégration Docker : Artifactory supporte les workflows Docker de plusieurs manières : il peut servir de registre/référentiel local Docker v1 et v2 avec des capacités de recherche sécurisée de métadonnées d'image. Il peut agir comme un proxy pour les autres registres Docker pour un accès unifié à travers Artifactory. Il est également disponible comme image Docker, pour une installation facilitée.
- Référentiels distants intelligents : La réplication des objets peut être mise en oeuvre en mode de réplication pull planifiée, push et push multiple (licence entreprise nécessaire) pour partager automatiquement des artéfacts dans des organisations multi-sites. "Liste des dossiers distants" permet la navigation des dépôts Artifactory distants, tandis que "Synchro des propriétés" réplique les métadonnées sur le serveur d'origine.
- Haute disponibilité : Avec le référentiel d'artéfact en position centrale dans la chaîne de valeur DevOps, JFrog fournit un mécanisme de haute disponibilité pour éviter les points uniques de défaillance et les goûlots d'étranglement. La haute disponibilité est implémentée comme un simple mécanisme multi-instances avec un primaire défini de manière statique. On doit installer une BD SQL centrale externe, un NFS pour le stockage d'un dépôt et un équilibreur de charge, ainsi qu'acheter une licence HA.
L'importance d'un référentiel binaire au sein du pipeline de déploiement est soulignée par Dave Farley, co-auteur de Continuous Delivery dans une précédente interview InfoQ : "Le référentiel d'artéfacts est une idée centrale, car l'idée de base de la livraison continue est que chaque changement que vous soumettez à la mise en production donne naissance à une version candidate. Et vous voulez évaluer cette version candidate à travers son cycle de publication afin de voir si elle peut prouver qu'elle n'est pas apte à passer en production". Dave considère comme important la décoration et l'enrichissement des métadonnées des artéfacts qui passent à travers le pipeline afin que "nous puissions capturer les résultats [des tests] et prendre des décisions sur une base automatisée basée sur les métadonnées que nous avons recueillies".
D'autres dépôts d'artéfacts tels que le projet communautaire RedHat Pulp, Apache Archiva et Sonatype Nexus, permettent également des pipelines de DC, avec un ensemble plus limité de types de référentiel. Nexus ajoute actuellement le support de Docker et étend aussi sa portée dans la communauté des DevOps.
Artifactory 4 est disponible en ligne en service cloud, en variante à domicile (de Pro à Enterprise/HD) et en version limitée Open Source.