Jenkins et GitLab CI sont les deux plateformes CI/CD les plus déployées en entreprise. Même mission, approches très différentes — le mauvais choix coûte des mois d’intégration.
Architecture : auto-hébergé vs intégré
Jenkins est exclusivement auto-hébergé. Vous installez et maintenez le Controller, configurez les agents, gérez les mises à jour et les plugins.
GitLab CI existe en SaaS (GitLab.com, runners partagés disponibles immédiatement) ou Self-Managed. La configuration du pipeline est un simple .gitlab-ci.yml.
# Un pipeline GitLab CI complet en 20 lignes
stages: [test, build, deploy]
test:
image: python:3.12-slim
script:
- pip install -r requirements.txt
- pytest tests/ --junitxml=report.xml
artifacts:
reports:
junit: report.xml
build:
script:
- docker build -t $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA .
- docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
only: [main]
Courbe d’apprentissage
GitLab CI est opérationnel rapidement. Un développeur connaissant YAML et Git peut écrire son premier pipeline en moins d’une heure.
Jenkins demande plus d’investissement : architecture Controller/Agent, plugins, Groovy pour les pipelines scriptés. En contrepartie, sa flexibilité est totale.
Comparatif
| Critère | Jenkins | GitLab CI (SaaS) |
|---|---|---|
| Licence | Gratuit | Gratuit (400 min/mois) |
| Infra requise | Obligatoire | Aucune |
| Maintenance | Élevée | Nulle |
| Plugins | 1 800+ | Intégrés |
| Intégration Kubernetes | DIY | Native |
Quand choisir Jenkins
- Contraintes de souveraineté des données (tout en interne)
- Intégrations avec des outils legacy non supportés par GitLab CI
- Équipes déjà formées avec pipelines existants
Quand choisir GitLab CI
- Plateforme unifiée souhaitée (code + CI/CD + registre + sécurité)
- Démarrage de zéro avec besoin d’être opérationnel rapidement
- Stack Kubernetes — l’intégration GitLab × Kubernetes est très mature
Nos formations Jenkins et CI/CD couvrent les deux approches avec des comparaisons pratiques.