GitLab, concurrent open source de GitHub et Bitbucket, vient de publier la version 9.0 de sa suite. Les ambitions sont grandes, l’éditeur affirmant qu’il couvre désormais la totalité de la chaine d’outils DevOps. Les nouveautés sont assez nombreuses, notamment dans la gestion des équipes et la surveillance des performances.
GitLab est en général connu comme un concurrent direct de GitHub, qui en dépit d’un code fermé, reste la référence dans le domaine de l’hébergement de projets. Rappelons qu’il n’existait au départ qu’un seul produit. Mais en 2013, GitLab a été proposé en deux éditions, une Community open source, et une Enterprise, comprenant des fonctionnalités supplémentaires, mais payante et en partie fermée.
Déploiement plus simple et arrivée des sous-groupes
La mouture Community avait reçu en décembre une importante mise à jour 8.15, récupérant au passage une fonctionnalité très appréciée de l’Enterprise : les Pages. C’est désormais au tour de cette dernière de recevoir une nouvelle version, même si GitLab 9.0 comprend des améliorations pour l’ensemble des utilisateurs. Elle se focalise en particulier sur tout ce qui touche au déploiement et à la supervision. La vidéo de démonstration publiée dans l’annonce vante d’ailleurs la simplicité de mise en place.
Les nouveautés sont nombreuses. Par exemple, GitLab gère maintenant les sous-groupes dans les équipes. Chacune pourra donc être organisée en cellules plus petites, selon les besoins. GitLab renforce ici l’un de ses points forts, l’éditeur ayant souvent veillé à proposer une plus grande granularité que son concurrent. La version 8.13 avait ainsi ajouté l’expiration automatique des droits pour les membres déclarés comme temporaires.
Panneaux de déploiement et surveillance des performances
L’un des plus gros ajouts de cette version 9.0 est le Deploy Board. Il s'agit d'un nouveau système de panneaux permettant d’avoir une vision d’ensemble de tous les déploiements en cours. Les utilisateurs autorisés pourront donc superviser toutes les opérations et repérer notamment celles qui posent problème. Des actions seront évidemment possibles, comme la réinitialisation ou l’annulation. Chaque déploiement d’application peut avoir son propre panneau.
Autre apport important, un nouveau panneau de surveillance des performances. Il est fondé sur Prometheus, un projet libre de la Cloud Native Computing Foundation. Il s’agit d’une solution de surveillance et d’alerte pour de nombreux évènements liés au cloud, notamment dans la gestion des conteneurs. Au sein de GitLab, il est utilisé pour faire remonter des informations sur le fonctionnement des applications dans leur environnement respectif.
Un bouton pour télécharger un CSV contenant les détails d'un problème
Nouveautés également sur la gestion des erreurs. GitLab indique que les utilisateurs réclamaient depuis un moment la possibilité de créer un snapshot (instantané) des problèmes en vue de les analyser plus tard en mode hors-ligne. La version 9.0 ajoute donc un bouton Télécharger en haut à droite de l’erreur. Une fois enclenché, il expédie dans un email à l’utilisateur un fichier CSV contenant tous les détails.
Côté performances, il y a aussi du neuf. Elasticsearch 5.1 est ainsi de la partie, avec au passage une flopée de petites corrections de bugs. GitLab 9.0 supporte également les grappes (clusters) HTTPS Elasticsearch et hébergées dans AWS (Amazon Web Services). L’éditeur ajoute que les grandes installations GitLab bénéficieront de plusieurs améliorations de performances, notamment sur l’indexation initiale, et dans une moindre mesure durant celle des dépôts.
Version 4 de l'API et outil de récupération après « désastre complet »
Parmi les autres améliorations, on pourra citer l’arrivée du load balancing (équilibrage de charge) pour les requêtes dès que PostgreSQL est utilisé, une modernisation générale de l’interface dans certaines zones (notamment les onglets), la possibilité de réorganiser par glisser-déposer les problèmes dans le panneau dédié (également valable dans la Community Edition), ou encore, pour l’ensemble des clients, l’arrivée de la version 4 de l’API. L’éditeur assure que cette dernière est désormais plus cohérente et davantage tournée vers REST.
GitLab travaille également sur une fonctionnalité attendue de pied ferme : la récupération après un « désastre complet ». Elle prendra appui sur Geo, disponible depuis la version 8.5 et qui permet de créer des instances miroirs de la principale. Jusqu’à présent cependant, elle ne répliquait que les fichiers sauvegardés. Les clients Enterprise peuvent donc maintenant récupérer une version alpha de Disaster Recovery, qui vient combler ce manque, mais n’est pas à considérer (loin de là) comme réellement sûre.
Des améliorations communes avec l'édition Community
On notera également que d’autres améliorations sont disponibles pour toutes les éditions, y compris la Community : la gestion native des emoji Unicode, un début de refonte pour le widget dédié aux requêtes Merge, la possibilité de créer des équipes sur Mattermost en même temps qu’un nouveau groupe dans GitLab, le filtrage et la recherche pour les noms de groupes (pour compenser l’arrivée de sous-groupes), la pagination pour la liste des environnements ou encore l’ajout optionnel d’actions manuelles pour bloquer les pipelines.
La très longue liste des améliorations peut être lue depuis le site officiel. On y trouve notamment une série de contributions émanant directement de la communauté, comme la possibilité d’afficher la hiérarchie dans la liste des pages wiki.
La nouvelle version peut être installée dès maintenant. Pour rappel, la Community est gratuite mais se destine aux projets personnels ou tenus par de petites équipes, avec peu de contrôles sur l’organisation du travail. L’édition Enterprise débute à 3,25 dollars par mois et ajoute plusieurs éléments importants comme la synchronisation LDAP, les miroirs de dépôts et les approbations de requêtes Merge.