Pratique : GitLab est une solution de gestion de code et des projets basée sur Git. Il se destine avant tout aux développeurs, mais aussi à l’ensemble des équipes DevOps. Au fil des ans, GitLab a considérablement élargi ces fonctionnalités.
Petit rappel
Git est un outil open source de contrôle de versions. Par nature, il est distribué et ouvert. Ces deux aspects ont rapidement contribué à son succès. GitLab, comme d’autres plateformes identiques, s’appuie sur Git. GitLab va bien au-delà de la gestion des codes et des branches de codes. Aujourd’hui, il est au cœur du DevOps, de l’automatisation de la toolchain, de la gestion des backlogs et du CI/CD.
Un outil comme GitLab est aujourd’hui tentaculaire, dans le sens où il intègre beaucoup d’outils et de fonctionnalités. GitLab gère la création, le stockage des projets et des codes, on peut monitorer l’activité des équipes et des différents référentiels. On peut automatiser les tests, le build, le déploiement. C’est la notion même de CI/CD.
A noter que chaque solution Git propose son propre vocabulaire mais, fondamentalement, les fonctionnalités sont les mêmes.
Un démarrage en douceur
Pour utiliser GitLab, il faut créer un compte sur gitlab.com. A partir de là, on peut proposer des commits, commenter des projets et bien entendu créer ses propres repository. Ensuite, il y a les classiques commits, merge request, les branches, etc.
Quand on crée un nouveau projet, on peut :
- créer un projet vide pour stocker des fichiers, des roadmaps, du code, etc. ;
- créer un projet via un template. En quelques clics, on crée un repository selon le type de langage ou de plateformes et GitLab vous mâche le travail de configuration ;
- importer un projet : par exemple migrer son code de GitHub à GitLab ;
- exécuter une chaîne de CI/CD pour un repository extérieur.
Mais la plupart du temps, le développeur utilise GitLab directement dans l’IDE, via une interface graphique (typiquement un client desktop) ou en CLI, ou encore un mélange des trois.
L’intérêt d’installer une extension GitLab dans son IDE est de pouvoir connecter la plateforme directement à ses projets et de pouvoir synchroniser immédiatement les répertoires. Vous trouverez les extensions GitLab dans la marketplace de votre IDE.
Une des fonctions de base de GitLab est la merge request. Si vous devez connaître une seule commande, c’est celle-ci. Merge request permet de vérifier le code dans une branche du repository. Chaque merge request comprend une description, les changements de codes, les informations liées au processus CI-CD et la liste des commits. Elle permet de pousser les modifications et rajouts de codes dans vos référentiels GitLab.
GitLab = DevOps et CI/CD
Une plateforme comme GitLab propose aujourd’hui une multitude d’outils et de fonctionnalités. Une des plus importantes est GitLab CI/CD. Si vous faites de la programmation agile ou du DevOps, vous connaissez forcément. Derrière ce terme, nous trouvons trois notions essentielles : intégration continue (CI), livraison continue (CD) et déploiement continu (CD). Ces trois notions permettent d’intégrer les codes, de les tester et de builder automatiquement. Vous créez ainsi une chaîne continue. L’automatisation des tâches et des flux est l’idée centrale. Au-delà, vous trouvez l’automatisation du déploiement.
GitLab, comme tous les autres gestionnaires de codes, offre du CI/CD. Basiquement, GitLab CI/CD propose des pipelines (les processus), des environnements de déploiements, les scénarios de tests. Pour vous aider à créer votre CI/CD, GitLab propose GitLab Runner. L’app Runner est là pour configurer et exécuter les tâches liées à votre CI/CD.
Pour résumer GitLab CI/CD, on peut dire qu’à chaque fois qu’il se passe quelque chose dans vos codes, la chaîne continue le détecte et exécute automatiquement les tâches. Ces tâches peuvent être très diverses : tests unitaires, déploiement sur une infrastructure Kubernetes, build du code, tests de sécurité, etc.
Sur la partie runner, la documentation officielle est là.
Les tarifs
GitLab propose trois éditions :
- Une édition gratuite qui permet de disposer de la gestion du code, de 400 minutes par mois pour la gestion et les générations CI/CD et des sites statiques hébergés gratuitement.
- Une édition Premium, à 19 dollars par utilisateur et par mois, qui ajoute la gestion des projets, le contrôle qualité des releases, 10 000 minutes de CI/CD par mois et des métriques et fonctionnalités orientées Ops.
- Une édition Ultimate, à 99 dollars par utilisateur et par mois, qui inclut en plus les tests de sécurité, la conformité, la gestion des portfolio projets, des fonctions d’analyses complètes, etc.
Toutes les éditions proposent un nombre de répertoires illimités.
Vous remarquez que les tâches de CI/CD sont quotas de minutes. Selon l’importance des projets et des tâches à exécuter, vous devrez choisir tel ou tel abonnement. Pour un projet personnel ou les petits projets, le forfait gratuit suffira largement, même en CI/CD.
Source : ZDNet.com