Retour au blog

CI/CDDevOpsGitLab CIGitHub ActionsJenkinsDevSecOps
Pipelines CI/CD modernes : GitLab, GitHub Actions, Jenkins
Le CI/CD, cœur battant du DevOps
Intégration continue (CI) et livraison continue (CD) transforment un commit Git en application déployée automatiquement, testée et sécurisée. C'est la pratique la plus impactante du DevOps. Cet article s'inscrit dans notre série — voir Guide complet : devenir ingénieur DevOps pour la vision d'ensemble.1. Anatomie d'un pipeline moderne
Un pipeline typique en 2026 enchaîne :
- Lint & format — ESLint, Prettier, ruff, gofmt
- Tests unitaires — couverture > 70 %
- Build — image Docker multi-stage, artefacts versionnés
- Scan sécurité — SAST (Semgrep), SCA (Snyk, Trivy), secrets (gitleaks)
- Tests d'intégration — bases éphémères, services mockés
- Push registry — image signée (Sigstore/cosign)
- Deploy staging — automatique
- Tests E2E — Playwright, Cypress
- Deploy production — validation manuelle ou automatique selon la stratégie
2. Comparatif des outils
| Critère | GitLab CI | GitHub Actions | Jenkins |
|---|---|---|---|
| Hébergement | SaaS ou self-hosted | SaaS (GitHub) | Self-hosted |
| Syntaxe | YAML `.gitlab-ci.yml` | YAML workflows | Groovy (Jenkinsfile) |
| Runners | Shared + custom | GitHub-hosted + self-hosted | Agents Java |
| Écosystème | Intégré (registry, K8s, sécurité) | Marketplace Actions énorme | Plugins (2000+) |
| Idéal pour | Équipes avec GitLab | Projets open-source & GitHub | Infra legacy, contraintes on-prem |
3. Stratégies de déploiement
- Rolling update — mise à jour progressive des pods (Kubernetes par défaut)
- Blue/Green — deux environnements, bascule instantanée
- Canary — 5 % du trafic vers la nouvelle version, augmentation progressive
- Feature flags — déployer sans exposer, activer par utilisateur (LaunchDarkly, Unleash)
4. DevSecOps : sécuriser la chaîne
- Signatures d'images — Sigstore/cosign, attestations SLSA
- Scan de dépendances — Renovate ou Dependabot pour l'auto-upgrade
- Politiques as code — OPA/Conftest pour valider les manifests Kubernetes
- Secrets — jamais dans le repo ; utiliser Vault, GitHub OIDC ou GitLab JWT
5. Métriques DORA à suivre
Les 4 métriques DORA sont le baromètre standard :
- Deployment frequency — combien de fois par jour ?
- Lead time for changes — délai commit → prod
- Change failure rate — % de déploiements qui échouent
- Mean time to recovery (MTTR) — temps de récupération après incident
Pièges à éviter
- Tests longs et flaky → les équipes finissent par ignorer les échecs
- Pipeline monolithique → 45 min pour un typo, dérive du "shift left"
- Absence de rollback automatique → un déploiement raté = incident majeur
- Secrets stockés en clair → fuite à la première compromission