Aller au contenu
Culture DevOps medium

GitLab : présentation de la plateforme DevSecOps

11 min de lecture

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é.

  • 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)

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.

GitLab propose trois modes de déploiement pour s’adapter aux contraintes de chaque organisation.

FormatDescriptionGéré parPublic cible
GitLab.com (SaaS)Instance multi-tenant hébergée par GitLabGitLabÉquipes voulant démarrer vite, sans infra à gérer
Self-ManagedInstance installée sur vos serveurs (VM, bare metal, Kubernetes)VousOrganisations avec contraintes de conformité ou souveraineté
DedicatedSaaS mono-tenant isolé, hébergé par GitLab dans la région cloud de votre choixGitLabEntreprises (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.

GitLab est une application web dont l’architecture repose sur plusieurs composants complémentaires.

ComposantTechnologieRôle
Application webRuby on RailsInterface utilisateur, API REST et GraphQL, logique métier
GitalyGoService d’accès aux dépôts Git (RPC), gestion des opérations Git à haute performance
GitLab RunnerGoExécution des jobs CI/CD (shell, Docker, Kubernetes)
Base de donnéesPostgreSQLStockage des métadonnées (projets, utilisateurs, pipelines, issues)
Cache et filesRedisCache applicatif, file d’attente des jobs Sidekiq
Jobs asynchronesSidekiq (Ruby)Traitement en arrière-plan (emails, webhooks, nettoyages)
Reverse proxyNGINXTerminaison TLS, routage HTTP vers Puma (serveur d’application)
Stockage objetS3-compatibleArtifacts CI/CD, uploads, registre de conteneurs, backups

GitLab couvre cinq grands domaines fonctionnels, intégrés dans une interface unique.

  • 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
  • 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
  • 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
  • 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
  • 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

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

GitLab propose trois éditions, chacune disponible en SaaS et en self-managed.

FreePremiumUltimate
Tarif0 $29 $/utilisateur/mois (annuel)Sur devis
Utilisateurs5 (SaaS) / illimités (self-managed)IllimitésIllimités
Compute CI/CD400 min/mois10 000 min/mois50 000 min/mois
SCM + CI/CD
SAST + Secret Detection
SupportCommunautéPrioritaire (SLA)Prioritaire (SLA)
DAST + Container Scanning
Dependency Scanning
Vulnerability Management
Compliance Frameworks
Epics + Portfolio Management
Value Stream Management
Utilisateurs invités illimités
ContextePlan recommandé
Projet personnel ou open-sourceFree
PME avec besoin de CI/CD avancé et supportPremium
Enterprise avec conformité, sécurité et gouvernanceUltimate
Équipe en évaluationFree (puis upgrade si besoin)

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)
  • 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

Ce site vous est utile ?

Sachez que moins de 1% des lecteurs soutiennent ce site.

Je maintiens +700 guides gratuits, sans pub ni tracing. Aujourd'hui, ce site ne couvre même pas mes frais d'hébergement, d'électricité, de matériel, de logiciels, mais surtout de cafés.

Un soutien régulier, même symbolique, m'aide à garder ces ressources gratuites et à continuer de produire des guides de qualité. Merci pour votre appui.

Abonnez-vous et suivez mon actualité DevSecOps sur LinkedIn