GitLab est connue pour être l’une des plateformes collaboratives open source de DevOps les plus utilisées de par le monde, et par de nombreuses organisations de tous types et de toutes tailles. Elle existe en deux versions, dont la première propose un mode SaaS (logiciel en tant que service) et une autre appelée GitLab CE (Community Edition).
GitLab est constituée de plusieurs éléments qui n’ont pas pour l’instant fait l’objet de critiques par leurs utilisateurs. En effet, il est basé sur les fonctionnalités de Git. Pour les connaisseurs et les initiés, tout est facile, du pilotage des dépôts de code source à la gestion des différentes versions créées. En outre, les applications de GitLab pour la Data Science sont parmi ses plus grands atouts qui en font une plateforme de développement collaborative de choix pour plusieurs entreprises.
Fonctionnement de GitLab
GitLab a pour principale fonctionnalité de proposer un système où vous pouvez gérer visuellement les dépôts Git. Il vous permet de naviguer, de contrôler, de fusionner et de faire d’autres tâches qui sur une autre plateforme DevOps nécessiteraient une interface à lignes de commande.
Tout ce qui est en front-end de l’utilisateur est basé sur RoR (Ruby on Rails) et propose une expérience utilisateur plutôt positive pour la grande majorité de ceux qui l’utilisent. RoR fonctionne sur un serveur web. Les tâches sont lancées par un pool de travaux sur un serveur vers un assistant back-end qui n’est autre que GitLab Runner.
En gros, Git permet de gérer les dépôts par le biais de GitLab Shell. Pour le stockage des métadonnées (utilisateur, dépôts, documents wiki…), PostgreSQL est à l’œuvre.
Intégrations et plug-ins GitLab
Un autre atout de GitLab est sa bibliothèque de plug-ins et d’intégrations assez impressionnante. Vous avez accès à un large assortiment qui vous permet d’avoir plusieurs fonctionnalités. Parmi quelques-unes d’entre elles, il y a la possibilité de configurer une authentification par LDAP ou OAuth2, d’avoir un suivi des bugs, d’ajouter Akismet pour limiter l’apparition de Spams dans vos projets, l’intégration de systèmes de gestion des tâches, etc.
De plus, vous pouvez utiliser une API pouvant être intégrée dans d’autres applications (ex : GraphQL).
Caractéristiques et avantages
Maîtriser GitLab vous ouvrez sur ces nombreux atouts :
-
Il peut fonctionner dans un environnement self-hosted/on-premises contrairement à d’autres plateformes du même type.
-
Vous avez la possibilité d’examiner, suivre et fusionner les branches, ce qui offre une gestion étendue du code source.
-
Vous avez accès à un pipeline automatisé pour la compilation, le test et la validation des constructions de logiciels grâce à l’intégration continue (GitLab CI).
-
Vous pouvez limiter le push et la fusion en ajustant les permissions accordées aux utilisateurs.
-
Vous avez accès à une documentation complète sur vos projets grâce aux pages wiki.
-
Vous avez accès à des sites web gratuits qui sont hébergés depuis les dépôts Git via les pages GitLab.
-
Vous pouvez sécuriser votre code en détectant automatiquement les secrets et en effectuant des tests de sécurité.
-
Vous pouvez faire un horodatage et une analyse de la productivité de votre équipe grâce à Jira.
En ligne ou sur site
Comme mentionné plus haut, GitLab est une plateforme de développement collaborative open source. Cela signifie que vous pouvez copier GitLab CE (Community Edition) depuis les serveurs où il est disponible et l’installer sur site ou dans le nuage. Toutefois, bien que cela puisse être un avantage, vous devez avant prendre en compte le coût qu’un sel-hosted vous coûtera comparer à l’achat d’un service géré par GitLab.
Certaines entreprises n’ont pas d’infrastructure informatique. Par conséquent, l’achat de nouveaux serveurs est inclus dans le budget qui y est alloué. De plus, il est nécessaire qu’un professionnel expérimenté en administration de systèmes ou d’outils DevOps s’assure de la configuration et de la maintenance de ces serveurs. Cela requiert donc, soit la formation du personnel, soit un recrutement.
Pour les organisations qui commencent leurs activités et qui ont un budget limité, la version gratuite de GitLab est un excellent choix et offre de nombreuses fonctionnalités. Cependant, GitLab sur site constitue un bon investissement dans la mesure où les fonctionnalités et le support fourni pallient le manque de personnel compétent et de temps.
Conclusion : pourquoi utiliser GitLab ?
Si vous hésitez encore à choisir GitLab parmi les nombreuses plateformes collaboratives de développement, pensez simplement au principal avantage de son utilisation. Chaque membre d’une équipe DevOps collaborant sur un projet peut apporter sa contribution à chaque étape de sa réalisation.
GitLab vous permet également de surveiller toutes les étapes du projet, de sa planification à sa construction. Ainsi, tous les développeurs peuvent automatiser le cycle de vie DevOps. Au final, cela permet d’avoir de meilleurs résultats.
Par ailleurs, GitLab connaît un succès du fait qu’il propose un éventail de fonctionnalités et de blocs de code accessibles à tous.