Prérequis
Expérience avec CI/CD basique, connaissance de git, Docker et déploiement d’applications. Accès à au moins une plateforme parmi Azure DevOps, Jenkins ou GitLab.
Durée
3 jours
Contenu Technique de la Formation
Cette formation explore les trois principales plateformes de CD : Azure Pipelines YAML, Jenkins Declarative Pipeline et GitLab CI/CD. Vous apprendrez à construire des pipelines robustes avec stages, environnements, approvals et rollback. Chaque plateforme offre des approches distinctes : Azure sur l’intégration Microsoft, Jenkins sur la flexibilité déclarative, GitLab sur l’intégration native git. Vous découvrirez les patterns de déploiement (blue-green, canary), la gestion des artefacts, des secrets et les stratégies de rollback en production.
- Azure Pipelines YAML — triggers, stages, environments, approvals, conditions avancées
- Jenkins Declarative Pipeline — syntax clean, triggers, agents, shared libraries, plugins
- GitLab CI/CD — .gitlab-ci.yml, runners, environments, protected branches, compliance
- Gestion d’artefacts — stockage versionnés (NuGet, npm, Docker registries), cleanup policies
- Déploiements blue-green et canary — patterns in-pipeline, validation et rollback
- Secrets management — vaults Azure/Gitlab/Jenkins, injection sécurisée, audit trail
Objectifs de la Formation
Les objectifs visés par cette formation sont :
- Construire des pipelines CD déclaratifs en Azure Pipelines YAML avec stages, environments et approbations
- Implémenter des pipelines Jenkins Declarative avec agents personnalisés et shared libraries
- Configurer des pipelines GitLab CI/CD avec runners, environnements protégés et compliance
- Orchestrer déploiements blue-green et canary avec validation métrique et rollback automatisé
- Gérer les artefacts versionnés (NuGet, npm, images Docker) avec policies de rétention
- Sécuriser les secrets (API keys, credentials) et implémenter audit trails d’accès
Table des Matières
Azure Pipelines YAML : triggers, stages, environments, approvals
- Structure de base — trigger, pool, variables, stages, jobs
- Conditions et dépendances entre stages — dependsOn, condition, variables collectées
- Environments et deployment jobs — lifecycle pre/on/post-deployment, health checks
- Approvals et checks manuels — gate logic, timeouts, escalade
- Templates YAML réutilisables — code partage, paramètres, variabilité
- Service connections et authentification — Azure AD, credentials management
Jenkins Declarative Pipeline : agents, libraries, plugins
- Déclaration de pipeline — agent, stages, post actions, when conditions
- Stage Views et visualisation — UI step-by-step, logs per stage
- Parameters et options — build triggers, retention, concurrency control
- Agents personnalisés — label, docker agent, kubernetes pod template
- Shared Libraries — code réutilisable, @Library, global variables
- Plugin ecosystem — Blue Ocean, Slack notifications, security scanning
GitLab CI/CD : .gitlab-ci.yml, runners, protected branches, compliance
- .gitlab-ci.yml structure — stages, jobs, image, script, artifacts
- Runners — installation, registration, tags, shared/specific/group runners
- Environment-specific jobs — protected branches, deployment approvals, auto-deploy
- Cache et artifacts — réduction de rebuild, passing de fichiers entre stages
- Compliance et audit — protected branches, CODEOWNERS, audit logs
- Integration avec git — merge request pipelines, automatic workflows
Gestion d’artefacts et repositories
- Container registries — tagging versions, scanning vulnérabilités, retention policies
- NuGet/npm repositories — dépendances privées, feed management, publish automation
- Artifact versioning — sémantique, traceability, rollback identifier
- Cleanup policies — disk usage, retention rules, old artifact deletion
- Distribution across environments — promote artifact, registry routing
- Mirror et replication — HA, disaster recovery, performance locality
Déploiements blue-green et canary avec validation
- Blue-green dans le pipeline — parallel stages, switch step, quick rollback
- Canary deployment — traffic split %, metrics monitoring, auto-rollback thresholds
- Health checks et smoke tests — endpoint validation, API checks post-deploy
- Feature flags en canary — progressive rollout, percentage based, user based
- Metrics integration — read alerting API, fail deployment on red metrics
- Approval gates — human decision avant flipped switch, fallback runbooks
Secrets et sécurité en CD
- Secret stores — Azure Key Vault, Vault, GitLab Vault, Jenkins Credentials
- Injection sécurisée — masking in logs, no plaintext in git, audit of access
- Rotation de secrets — automated, notification, zero-downtime update
- Audit trails — who accessed what when, compliance reporting
- Principle of least privilege — API keys limité à scope, timeout credentials
- Scanning et compliance — secret detection in repos, signed commits, signed images
En Pratique
Configurer des pipelines CD sur Azure DevOps
- Créer des stages de déploiement avec approvals et conditions
- Intégrer les releases avec les artifacts et les environments
Implémenter le déploiement continu avec Jenkins
- Construire des job pipelines avec groovy et paramètres
- Gérer les artifacts et les notifications post-déploiement
Automatiser les releases avec GitLab CI/CD
- Définir des .gitlab-ci.yml avec stages et environments
- Configurer les déploiements progressifs et les rollbacks
Orchestrer les déploiements multi-environnements
- Passer des stages dev vers staging puis production
- Monitorer et valider les déploiements en temps réel
Modalités et Inscription
Cette formation est proposée selon deux formules pour s'adapter au mieux à vos besoins :
Session régulière
Des sessions sont organisées à intervalles réguliers. Demandez les prochaines dates planifiées pour vous inscrire à la prochaine session.
Sur mesure & intra-entreprise
Vous souhaitez former vos équipes directement dans vos locaux ou adapter le programme technique à votre contexte d'entreprise ? Contactez-nous pour obtenir un devis personnalisé.