Les différentes versions de Gitlab
Commençons par la version self- managed :
• Core : pour les petites équipes et/ ou les projets personnels.
• Starter : pour gérer quelques projets mais qui nécessitent un support professionnel.
• Premium : pour les équipes réparties géographiquement qui ont besoin de fonctionnalités avancées, d’une haute disponibilité et d’un support 24h/ 24 et 7 jours/ 7.
• Ultimate : pour les entreprises qui veulent aligner stratégie et exécution avec un niveau de sécurité et de conformité avancés.
La version Cloud Saas, hébergée sur Gitlab. com, est accessible par inscription gratuite ou payante :
• Free : dépôts privés et nombre de collaborateurs illimité par projet. Les projets privés ont accès aux fonctionnalités gratuites et les projets publics aux fonctionnalités de type Gold.
• Bronze : pour les équipes qui ont besoin d’un accès à des fonctionnalités de type workflow plus avancées.
• Silver : pour les projets qui nécessitent des fonctionnalités de type Devops plus robustes et un support avancé.
• Gold : cette sous- version, la plus complète, est adaptée à tous types de jobs CI/ CD. versions aux développeurs. La première, la version self- hosted – ou self- managed, ou encore auto- hébergée – est gratuite mais vous devez télécharger le logiciel et l’installer sur votre propre serveur. La seconde, de type cloud Saas, permet de disposer des mêmes fonctionnalités sans pour autant devoir installer l’outil. La version self- hosted se décline en quatre sous- versions : Ultimate, Premium, Core et Starter ( lire encadré).
Une évolution constante et respectant le principe du CI/ CD
Gitlab ne plaisante pas avec la livraison en continu. Une nouvelle version sort le 22 du mois depuis 102 mois ! Le fait qu’un produit gérant le CI/ CD respecte lui- même les préceptes d’une livraison régulière, sans retard et sécurisée, est loin d’être négligeable. La dernière version ( release) en date, sortie le 22 mars, est la 12.9. En théorie, la 13 sort le 22 avril, la 14 le 22 mai, et ainsi de suite. Les nouvelles fonctionnalités sont chargées sur l’application en ligne sur Gitlab. com chaque semaine, avec une release packagée disponible le 22 du mois. La rc1 ( release candidate n° 1) de la 12.9 est sortie le 10 mars dernier.
Une solution globale Devsecops
Gitlab est une plate- forme Devops open- source complète fournie dans une unique application. De l’idée originelle à la production, Gitlab aide les équipes à améliorer le temps du cycle de plusieurs semaines à quelques minutes, à réduire les coûts du processus de développement et à diminuer le fameux TTM ( time to market) tout en augmentant la productivité de développement. L’ambition de Gitlab est clairement de devenir la première application regroupant tout le cycle de vie Devsecops. En plus des intégrations natives Kubernetes et de la prise en charge des déploiements multi- cloud, l’éditeur poursuit son support opérationnel avec des outils comme la gestion des incidents, des indicateurs de fonctionnalités et un tableau de bord opérationnel offrant un aperçu des divers projets en cours et de l’état d’avancement de leur livraison.
« La version 12 avait déjà marqué une étape clé dans notre cheminement vers la création d’une approche inclusive Devsecops » , souligne David Desanto, directeur produit Secure & Defend chez Gitlab. « Cela doit permettre à chacun de contribuer et fournit aux entreprises la possibilité de profiter d’une approche rationalisée au sein des équipes. »
@ La solution open source cible, en plus des équipes en charge du développement et celles de l’exploitation de logiciels ( Devops), les équipes responsables de la sécurité informatique ( le « Sec » de Devsecops). L’offre intègre des fonctionnalités de sécurité récemment publiées – telles que les tableaux de bord de sécurité, l’auto- remédiation des pannes et les approbations de sécurité. L’ensemble est complété de fonctionnalités supplémentaires de collaboration ( Visual Review, Project Dependency list, Merge Trains…). Les vulnérabilités détectées sont affichées directement dans la demande ( merge request).
Pour la partie opérations IT, outre le support du multicloud et des intégrations natives Kubernetes, des fonctionnalités ont également été ajoutées ou renforcées. C’est le cas pour la gestion des incidents. Les features flags permettent d’activer ou de désactiver des fonctionnalités. Toujours d’après David Desanto, le tableau de bord opérationnel donne « un aperçu des projets et de leur état d’avancement. La partie sécurité permet la mise en place d’une évaluation précise, automatisée et en continue de vos applications et services afin de pouvoir identifier de manière proactive leurs vulnérabilités et leurs faiblesses et de réduire ainsi au maximum tout risque en termes de sécurité. La sécurité ne représente pas une étape supplémentaire dans votre processus CI/ CD ni un outil additionnel devant y être incorporé : elle est parfaitement intégrée dans votre cycle Devops, ce qui vous permet d’adapter vos tests et processus de sécurité divers à votre équipe
projet – vos chers développeurs – et non le contraire, ce qui serait une gageure. » .
Planification
Gitlab propose une planification et une gestion de portfolio à travers des epics, des groupes ( des programmes) et des jalons afin de bien organiser et de suivre la progression du projet applicatif. « Indépendamment de la méthodologie, du cycle en cascade au Devops, l’approche simple et flexible de Gitlab en matière de planification peut aussi bien satisfaire aux besoins des équipes les plus petites jusqu’aux plus grandes structures. Gitlab contribue à l’organisation et à la planification des projets » a aussi déclaré David.
Suivi des objectifs à réaliser
L’avancement du projet est planifié, organisé et suivi avec des objectifs, des étiquettes, des « story points » ( système de points à base de « poids » typique de la méthode agile Scrum), des jalons ( sprints Scrum et releases), le suivi du temps et les dates de recettes. Leur avancement peut être suivi à l’aide de Scrum, de Kanban, de SAFE ou d’autres méthodologies ( agiles). Les tableaux de bords Kanban, à la fois efficaces et très souples d’utilisation, permettent de prioriser, gérer et suivre visuellement l’exécution du travail à effectuer.
Gitlab permet d’estimer, de suivre et d’effectuer des rapports sur le temps passé sur les différents objectifs. Vous pouvez aussi planifier le travail à réaliser en créant des Epics et en leur affectant tous les objectifs correspondants. Vous pouvez planifier et organiser les projets visuellement dans une vue de type feuille de route qui pourra être utilisée pour le suivi de projet et la communication. Vous pouvez, grâce aux “objectifs ” Gitlab, interconnecter les membres de votre équipe à des parties externes directement par e- mail pour le retour d’informations et le support. Inutile pour cela d’employer des outils supplémentaires. Vous pouvez aussi planifier et suivre le testing et la qualité de votre produit.
Outils de branches
Vous pouvez créer, visualiser et gérer le code et les données projet grâce à des outils de gestion de branche. Gitlab aide les équipes à concevoir, développer et à gérer en toute sécurité le code et les données projet d’un simple système de contrôle de version distribuée à la mise en oeuvre d’itérations rapides et la production de valeur. Les dépôts Gitlab fournissent une source « scalable » et unique pour la collaboration sur des projets et le code permettant aux équipes d’être productives sans interrompre leurs workflows – dans le sens de flux opérationnel.