DevOps et CI/CD
Industrialisation de la chaîne de livraison et passage au GitOps
De la livraison trimestrielle à vingt-deux livraisons en huit mois
Exemple de demonstration : cette realisation illustre la methode Codexway et ne correspond pas a un client reel.
Contexte
Sept applications Java et trois applications front-end livrées par une même direction technique, avec des chaînes d'intégration différentes selon les équipes. Les mises en production se déroulaient le vendredi soir, avec un dossier de déploiement manuscrit et des interventions manuelles sur les serveurs.
Problematique
Une mise en production nécessitait six heures d'interventions, échouait une fois sur quatre, et le retour arrière reposait sur la restauration d'un sauvegarde de base de données. Aucune trace fiable ne permettait de savoir quelle version était déployée sur quel environnement.
Objectifs
Uniformiser les chaînes d'intégration et de livraison entre les équipes Rendre les déploiements reproductibles et réversibles Réduire le délai entre la validation d'un correctif et sa mise en production
Role tenu
Responsable de l'industrialisation, avec intervention ponctuelle d'un architecte sécurité externe sur la chaîne de contrôle des dépendances.
Solution retenue
Le diagnostic initial a mesuré les chaînes existantes : durée moyenne de dix-sept minutes pour les tests, quatre-vingt-douze minutes pour la chaîne complète, avec un taux d'échec de vingt-trois pour cent dont un tiers pour des causes d'infrastructure. Ces mesures ont servi de base de comparaison tout au long du chantier. Une chaîne commune a été construite à partir d'actions réutilisables : compilation, tests unitaires en parallèle, analyse statique bloquante sur les points sensibles, tests d'intégration sur conteneurs, construction et publication d'images signées. Les tests de bout en bout ont été repositionnés sur les parcours critiques afin de ne pas rallonger le chemin de validation. Le déploiement a été basculé en GitOps : les manifestes vivent dans un dépôt dédié, Argo CD applique l'état décrit et détecte toute dérive. Le dossier de déploiement manuscrit a été remplacé par une procédure versionnée, et le retour arrière s'effectue en revenant à la version précédente du dépôt de configuration.
Architecture
Chaînes d'intégration GitHub Actions pour les applications, avec des actions réutilisables partagées entre équipes et un cache de dépendances géré. Les images sont construites en multi-étapes, analysées puis signées, et stockées dans un registre interne. Le cluster Kubernetes est décrit par Terraform, et son contenu applicatif par des manifestes versionnés appliqués par Argo CD, avec un dépôt de configuration par environnement. Les contrôles de sécurité s'exécutent à chaque livraison : dépendances, image de base, secrets accidentellement versionnés et analyse statique.
Resultats (exemples)
Chaîne d'intégration commune à dix applications Déploiements versionnés et retour arrière par retour à la version précédente Contrôles de sécurité exécutés automatiquement à chaque livraison Procédure de mise en production écrite et appliquée sans intervention manuelle
Indicateurs (exemples)
Durée moyenne de la chaîne complète
92 min à 21 min
Mesures simulées — exemple de démonstration
Taux d'échec de mise en production
1 sur 4 à 1 sur 12
Estimation indicative sur périmètre simulé — exemple de démonstration
Livraisons réalisées sur la période
22
Volume illustratif — exemple de démonstration
Technologies
- Docker
- Kubernetes
- Terraform
- GitHub Actions
- GitLab CI
- Argo CD
- JUnit 5
- Playwright
- SonarQube
Temoignage (exemple)
« Le déploiement du vendredi soir a disparu. Nous livrons désormais en journée, et le retour arrière ne demande plus de réunion de crise. »
Services mobilises
DevOps et chaînes de livraison CI/CD
Je construis des chaînes de livraison qui testent réellement le code et permettent de revenir en arrière en quelques minutes. Le déploiement cesse d'être un événement pour devenir une opération banale.
Conteneurisation Docker et orchestration Kubernetes
Je conteneurise vos applications avec des images légères et je les exploite sur Kubernetes avec des manifestes maîtrisés. La plateforme devient prévisible, dimensionnée et réparable.
Sécurité applicative et protection des API
Je sécurise vos applications sur les points qui comptent vraiment : identités, autorisations, secrets et validation des entrées. Les mesures sont vérifiables et intégrées à la chaîne de livraison.
Formation et coaching d'équipes techniques
Je forme vos équipes sur vos propres projets, avec des exercices issus de votre code. Les formations se terminent par une production utilisable, pas par un questionnaire de satisfaction.