GitLab est une plateforme DevSecOps qui regroupe dans une seule application la gestion du code source, le CI/CD, les tests de sécurité applicative, la gestion de projet et le registre de paquets. Disponible en SaaS (gitlab.com), en self-managed (sur vos serveurs) ou en Dedicated (SaaS mono-tenant), GitLab couvre l’intégralité du cycle de vie logiciel — de la planification au déploiement en production. Avec plus de 50 millions d’utilisateurs et 174 releases mensuelles consécutives, c’est l’une des forges les plus complètes du marché.
Ce que vous allez apprendre
Section intitulée « Ce que vous allez apprendre »- Comprendre ce qu’est GitLab : son positionnement, son histoire et son modèle open-source
- Identifier les formats de déploiement : SaaS, self-managed et Dedicated
- Connaître les fonctionnalités principales : gestion de code, CI/CD, sécurité, registres
- Comparer les éditions : Free, Premium et Ultimate
- Choisir le format adapté à votre contexte (équipe, conformité, budget)
Origine et modèle open-source
Section intitulée « Origine et modèle open-source »GitLab est né en 2011 comme un projet open-source créé par Dmitriy Zaporozhets et Valery Sizov. L’entreprise GitLab Inc. a été incorporée en 2014 et est entrée en bourse au NASDAQ (symbole GTLB) en 2021. L’entreprise fonctionne en 100 % télétravail depuis sa création, avec plus de 2 500 collaborateurs dans plus de 65 pays.
Le modèle repose sur un noyau open-source (licence MIT) appelé GitLab Community Edition (CE). La version Enterprise Edition (EE) ajoute des modules propriétaires (sécurité avancée, conformité, gestion de portefeuille). Concrètement, le package d’installation est le même : les fonctionnalités EE se déverrouillent avec une licence.
Formats de déploiement
Section intitulée « Formats de déploiement »GitLab propose trois modes de déploiement pour s’adapter aux contraintes de chaque organisation.
| Format | Description | Géré par | Public cible |
|---|---|---|---|
| GitLab.com (SaaS) | Instance multi-tenant hébergée par GitLab | GitLab | Équipes voulant démarrer vite, sans infra à gérer |
| Self-Managed | Instance installée sur vos serveurs (VM, bare metal, Kubernetes) | Vous | Organisations avec contraintes de conformité ou souveraineté |
| Dedicated | SaaS mono-tenant isolé, hébergé par GitLab dans la région cloud de votre choix | GitLab | Entreprises (1 000+ utilisateurs) avec exigences de sécurité fortes |
GitLab.com est l’option la plus simple : créez un compte et commencez à travailler. GitLab gère l’infrastructure, les mises à jour et la disponibilité.
- Aucune installation requise
- 400 minutes de compute CI/CD par mois (plan Free)
- Mises à jour automatiques (toujours la dernière version)
- Hébergé sur Google Cloud Platform
Limites : moins de contrôle sur l’infrastructure, données hébergées aux États-Unis (sauf Dedicated), limite de 5 utilisateurs sur le plan Free.
Self-Managed vous donne le contrôle total. Vous installez GitLab sur vos serveurs et gérez les mises à jour, les sauvegardes et la configuration.
- Contrôle complet des données et de l’infrastructure
- Personnalisation poussée (LDAP, SAML, CA interne, stockage objet)
- Compatible CE (gratuit) et EE (avec licence)
- Méthodes d’installation : Linux package (Omnibus), Helm chart, Docker, Operator Kubernetes
Contrepartie : vous êtes responsable de la maintenance, des mises à jour et des sauvegardes.
GitLab Dedicated est un SaaS mono-tenant : une instance GitLab isolée, hébergée et gérée par GitLab dans la région AWS de votre choix.
- Isolation complète (pas de voisinage multi-tenant)
- Réseau privé (Private Link, VPN)
- Conformité renforcée (disponible pour le secteur public US via FedRAMP)
- À partir de 1 000 utilisateurs
Usage : grandes entreprises avec des exigences strictes de conformité et de résidence des données.
Stack technologique
Section intitulée « Stack technologique »GitLab est une application web dont l’architecture repose sur plusieurs composants complémentaires.
| Composant | Technologie | Rôle |
|---|---|---|
| Application web | Ruby on Rails | Interface utilisateur, API REST et GraphQL, logique métier |
| Gitaly | Go | Service d’accès aux dépôts Git (RPC), gestion des opérations Git à haute performance |
| GitLab Runner | Go | Exécution des jobs CI/CD (shell, Docker, Kubernetes) |
| Base de données | PostgreSQL | Stockage des métadonnées (projets, utilisateurs, pipelines, issues) |
| Cache et files | Redis | Cache applicatif, file d’attente des jobs Sidekiq |
| Jobs asynchrones | Sidekiq (Ruby) | Traitement en arrière-plan (emails, webhooks, nettoyages) |
| Reverse proxy | NGINX | Terminaison TLS, routage HTTP vers Puma (serveur d’application) |
| Stockage objet | S3-compatible | Artifacts CI/CD, uploads, registre de conteneurs, backups |
Fonctionnalités principales
Section intitulée « Fonctionnalités principales »GitLab couvre cinq grands domaines fonctionnels, intégrés dans une interface unique.
Gestion du code source (SCM)
Section intitulée « Gestion du code source (SCM) »- Dépôts Git avec interface web, éditeur intégré et Web IDE
- Merge requests avec revue de code, discussions en ligne et approbations
- Branches protégées et règles de merge (nombre d’approbateurs, pipelines verts)
- Code Owners pour attribuer automatiquement les reviewers
CI/CD intégré
Section intitulée « CI/CD intégré »- Pipelines définis en YAML (
.gitlab-ci.yml) avec stages, jobs, règles et matrices - Runners déployables partout (shell, Docker, Kubernetes, autoscaler)
- Artifacts et cache pour accélérer les builds
- Environnements avec déploiement continu, feature flags et rollback
- CI/CD Catalog pour partager des composants réutilisables
Sécurité applicative
Section intitulée « Sécurité applicative »- SAST (analyse statique du code source)
- DAST (analyse dynamique de l’application en cours d’exécution)
- Dependency Scanning et Container Scanning
- Secret Detection dans le code et les pipelines
- Vulnerability Management avec tableau de bord et politiques de remédiation
- Software Bill of Materials (SBOM) généré automatiquement
Gestion de projet
Section intitulée « Gestion de projet »- Issues, boards (Kanban), milestones et labels
- Epics pour regrouper les issues par initiative stratégique (Premium+)
- Service Desk intégré pour recevoir des tickets par email
- Suivi de temps et estimation de charge
Registres intégrés
Section intitulée « Registres intégrés »- Container Registry pour stocker et distribuer des images Docker
- Package Registry compatible npm, Maven, PyPI, NuGet, Go, Conan, Terraform
- Virtual Registry pour agréger des registres de paquets distants en un seul endpoint
GitLab Duo : l’IA intégrée
Section intitulée « GitLab Duo : l’IA intégrée »Depuis 2024, GitLab intègre GitLab Duo, une suite d’outils d’intelligence artificielle qui couvre l’ensemble du cycle de développement.
- Code Suggestions : auto-complétion et génération de code dans l’IDE
- Agentic Chat : assistant multi-étapes capable de naviguer dans le contexte du projet
- Agents spécialisés : planification, analyse de sécurité, data insights
- Flows automatisés : création de merge requests depuis un ticket, correction de pipelines, modernisation CI/CD
Éditions et tarifs
Section intitulée « Éditions et tarifs »GitLab propose trois éditions, chacune disponible en SaaS et en self-managed.
| Free | Premium | Ultimate | |
|---|---|---|---|
| Tarif | 0 $ | 29 $/utilisateur/mois (annuel) | Sur devis |
| Utilisateurs | 5 (SaaS) / illimités (self-managed) | Illimités | Illimités |
| Compute CI/CD | 400 min/mois | 10 000 min/mois | 50 000 min/mois |
| SCM + CI/CD | ✅ | ✅ | ✅ |
| SAST + Secret Detection | ✅ | ✅ | ✅ |
| Support | Communauté | Prioritaire (SLA) | Prioritaire (SLA) |
| DAST + Container Scanning | ❌ | ❌ | ✅ |
| Dependency Scanning | ❌ | ❌ | ✅ |
| Vulnerability Management | ❌ | ❌ | ✅ |
| Compliance Frameworks | ❌ | ❌ | ✅ |
| Epics + Portfolio Management | ❌ | ✅ | ✅ |
| Value Stream Management | ❌ | ❌ | ✅ |
| Utilisateurs invités illimités | ❌ | ❌ | ✅ |
Quel plan choisir ?
Section intitulée « Quel plan choisir ? »| Contexte | Plan recommandé |
|---|---|
| Projet personnel ou open-source | Free |
| PME avec besoin de CI/CD avancé et support | Premium |
| Enterprise avec conformité, sécurité et gouvernance | Ultimate |
| Équipe en évaluation | Free (puis upgrade si besoin) |
Intégrations et écosystème
Section intitulée « Intégrations et écosystème »GitLab s’intègre avec un large écosystème d’outils :
- Cloud : AWS, Google Cloud, Azure (marketplaces disponibles)
- Kubernetes : déploiement natif, agent GitLab pour K8s, intégration ArgoCD
- Communication : Slack, Microsoft Teams, Mattermost
- Suivi : Jira (synchronisation bidirectionnelle des issues)
- Sécurité : HashiCorp Vault pour la gestion des secrets dans les pipelines
- IDE : VS Code, JetBrains, Neovim (extensions GitLab Duo)
À retenir
Section intitulée « À retenir »- GitLab est une plateforme DevSecOps complète qui regroupe forge Git, CI/CD, sécurité applicative, gestion de projet et registres de paquets dans une seule application
- Trois formats de déploiement : SaaS (gitlab.com), self-managed (sur votre infra) et Dedicated (mono-tenant géré)
- Le noyau est open-source (licence MIT) ; les fonctionnalités avancées nécessitent une licence Premium ou Ultimate
- La stack technique repose sur Ruby on Rails (application), Go (Gitaly, Runner) et PostgreSQL (données)
- Trois éditions : Free (0 $), Premium (29 $/utilisateur/mois) et Ultimate (sur devis)
- L’empreinte système est significative (~4-8 Go RAM) comparée aux forges légères, mais le périmètre fonctionnel est bien plus large
- GitLab Duo apporte l’IA à chaque étape du cycle de développement