Ce que vous allez apprendre dans ce TP
- Enchaîner CI, sécurité et GitOps
- Vérifier et revenir en arrière automatiquement
- Mesurer la chaîne avec DORA
Introduction #
Ce que vous allez apprendre dans cette section
- Enchaîner CI, sécurité et GitOps
- Vérifier et revenir en arrière automatiquement
- Mesurer la chaîne avec DORA
Contexte. Vous présentez à votre direction une chaîne de livraison de bout en bout pour un nouveau service. Chaque étape reprend un TP de la formation ; l'objectif est de les enchaîner sans intervention manuelle entre le commit et le cluster.
Prérequis : un compte GitHub, Docker, kubectl et kind ; avoir suivi les TP Git, CI/CD, GitOps et DevSecOps · Durée estimée : 120 min
Un commit sur main arrive en production en quelques minutes, de façon vérifiée, traçable et réversible.Mise en place #
Étapes guidées, avec leur correction.
1. Deux dépôts
Pourquoi ? Séparer le code et la description du déploiement donne des droits et des historiques distincts.
Créezshop-api(code, Dockerfile, tests, workflow) etshop-deploy(manifestes Kustomizebaseetoverlays/staging,overlays/production). Protégez main sur les deux dépôts.2. Pipeline CI
Pourquoi ? Le pipeline reprend les leçons du chapitre CI/CD : échouer vite, construire une fois, sécuriser.
Dansshop-api, écrivez un workflow : lint et tests, Gitleaks et Trivy, build et push sur GHCR tagué par le SHA, SBOM et signature Cosign sans clé.3. Mise à jour automatique du dépôt de déploiement
Pourquoi ? La CI n'a besoin que d'écrire dans Git : elle ne détient aucun accès au cluster.
Ajoutez un job qui met à jour le tag de staging dansshop-deployaveckustomize edit set imageet pousse le commit (jeton à droits limités ou GitHub App).4. Déploiement GitOps
Pourquoi ? Argo CD applique chaque commit du dépôt de déploiement et corrige toute dérive.
Sur un cluster kind avec Argo CD (TP GitOps), créez deux Applicationsshop-stagingetshop-productionpointant vers les overlays, en synchronisation automatique.5. Vérifier et promouvoir
Pourquoi ? La production reçoit exactement l'image validée en staging, par une pull request relue.
Après synchronisation de staging, lancez un smoke test ; s'il réussit, ouvrez automatiquement une pull request qui reporte le même tag dans l'overlay de production.6. Incident et retour arrière
Pourquoi ? Un retour arrière par Git est rapide, tracé et ne demande aucun accès au cluster.
Livrez une version qui renvoie des erreurs 500 sur/health, constatez l'échec du smoke test en staging (pas de promotion), puis simulez un incident en production et revenez en arrière avecgit revertdansshop-deploy. Rédigez un court post-mortem.7. Mesurer
Pourquoi ? Les métriques DORA montrent si la chaîne tient ses promesses.
Déployez cinq petites modifications et calculez la fréquence de déploiement, le délai commit → production, le taux d'échec et le temps de restauration (méthode du TP DORA). Présentez le résultat et la prochaine amélioration.
Niveau de difficulté : ●●●●○ (4/5)
Mon suivi
Connectez-vous pour suivre votre progression et prendre des notes. Se connecter
Glossaire de la formation
DevOps
Culture, mouvement et pratiques visant à unifier le développement logiciel (Dev) et l'administration des infrastructures informatiques (Ops).Découvrir...
DevSecOps
Intégration native de la sécurité (Security) dès la conception et tout au long du cycle de vie DevOps (approche "Shift-Left").Voir comment intégrer la...
AIOps (Artificial Intelligence for IT Operations)
Utilisation de l'intelligence artificielle et de l'apprentissage automatique pour automatiser et améliorer les opérations informatiques (ex: détection...
NoOps
Concept où l'environnement informatique est tellement automatisé et abstrait (ex: Serverless, PaaS) qu'il ne nécessite quasiment plus d'équipe opérati...
GitOps
Pratique de déploiement continu où un dépôt Git sert de source unique de vérité déclarative pour l'infrastructure et les applications.Maîtriser le dép...
FinOps (Financial Operations)
Culture de responsabilité financière du Cloud visant à maximiser la valeur métier en optimisant les coûts. Elle permet une collaboration étroite entre...
SRE (Site Reliability Engineering)
Discipline qui applique les principes de l'ingénierie logicielle aux problématiques d'exploitation. Le but est de créer des systèmes hautement scalabl...
Platform Engineering
Discipline consistant à concevoir et construire des chaînes d'outils et des flux de travail permettant aux développeurs de gérer leur infrastructure e...
Articles recommandés
CI/CD de bout en bout (1/5) : principes et anatomie d'un pipeline
Comprendre la CI/CD de bout en bout : intégration continue, livraison continue et déploiement con...
CI/CD de bout en bout (5/5) : GitHub Actions, GitLab CI, Jenkins et Argo CD en pratique
Comparer et utiliser les outils CI/CD : GitHub Actions, GitLab CI, Jenkins, Argo CD et Flux ; pip...
Infrastructure as Code et GitOps : Terraform, Ansible et Argo CD
Gérer l'infrastructure comme du code : déclaratif ou impératif, Terraform (providers, état, plan,...
DevSecOps : sécuriser la chaîne logicielle de bout en bout
Intégrer la sécurité dans le pipeline DevOps : shift-left, modélisation des menaces, détection de...
Mesurer la performance DevOps : métriques DORA, SPACE et amélioration continue
Mesurer et améliorer la performance de livraison : les métriques DORA (fréquence de déploiement, ...
Mur de la confusion
Le 'mur de la confusion' (ou 'wall of confusion') est une métaphore souvent utilisée dans le cont...
Soutien Logistique Intégré
Soutien Logistique Intégré (SLI) (L'Integrated Logistics Support (ILS) en anglais), est une appro...
Application 12 Facteurs
Un guide détaillé sur la méthodologie des 12 facteurs pour le développement d'applications modern...
Le framework CALMS : Les 5 piliers du DevOps
Découvrez le framework CALMS, le socle indispensable pour réussir votre transformation DevOps à t...