GitLab et le DevOps
GitLab est une plateforme DevOps complète : gestion de code source, CI/CD, registre de conteneurs, suivi des tickets, gestion des releases, sécurité applicative et monitoring, dans une seule application. C'est ce que GitLab appelle "The One DevOps Platform" : un seul outil, une seule source de verite, une seule interface d'administration.
GitLab vs GitHub
GitHub est d'abord une forge Git, enrichie progressivement de fonctionnalites DevOps (GitHub Actions, Packages, Advanced Security). GitLab a construit son modele inverse : partir d'un cycle DevOps complet et y integrer le code source. La difference est structurelle, pas superficielle.
GitHub domine l'open source public. GitLab domine le self-hosting en entreprise, particulierement dans les environnements on-premise avec contraintes reglementaires fortes. Beaucoup d'organisations migrent vers GitLab precisement parce qu'elles veulent eviter de dependre de l'infrastructure GitHub.com (Microsoft) pour leur chaine de build.
Editions et modele de licence
GitLab existe en trois editions :
- Community Edition (CE) : open source (MIT), self-hosted, fonctionnalites de base
- Enterprise Edition (EE) : code source disponible mais licence commerciale, fonctionnalites avancees (RBAC fin, compliance frameworks, audits, SAST/DAST, epics...)
- GitLab.com : SaaS heberge par GitLab, plans Free / Premium / Ultimate
La distinction CE/EE est importante en self-hosting : on installe souvent EE avec une licence Free, ce qui permet d'upgrader vers une licence payante sans reinstallation. Les fonctionnalites restent verrouillees sans cle de licence valide.
Le cycle DevOps dans GitLab
GitLab structure son cycle en phases : Plan, Create, Verify, Package, Secure, Release, Configure, Monitor, Protect. Chaque phase correspond a un ensemble de fonctionnalites dans l'interface. Ce decoupage aide a positionner les fonctionnalites, mais en pratique les equipes n'adoptent pas tout d'un coup : on commence generalement par Create (git, MR) puis Verify (CI), puis on etend selon les besoins.
Auto DevOps
GitLab propose Auto DevOps : detection automatique du langage, pipeline CI/CD preconfigure, conteneurisation via Herokuish ou Dockerfile detectable, tests de securite automatiques, deploiement sur Kubernetes. Utile pour bootstrapper rapidement, mais les equipes matures preferent generalement controler leur propre .gitlab-ci.yml plutot que de dependre d'une abstraction opaque.