CI/CD
Progression
#CI/CD
L’intégration continue valide chaque changement par des builds et des tests reproductibles. La livraison continue rend chaque artefact déployable à tout moment; le déploiement continu automatise l’atterrissage en production derrière des garde‑fous. On privilégie un tronc unique, des petites PR et des pipelines rapides qui donnent un signal clair.
Un bon pipeline cache les secrets, produit des artefacts versionnés et publie des rapports de qualité. Il sépare build et déploiement, mais garde une trace de bout en bout: quel commit tourne où, avec quels paramètres et quelles ressources. Les stratégies de déploiement progressif, comme le canary et le blue/green, réduisent le risque en exposant graduellement le trafic et en facilitant le retour arrière.
#Animation: étapes d’un pipeline sain
Construisez une seule fois et déployez le même artefact partout. Évitez les builds différents par environnement: vous gagneriez des bugs non reproductibles.
#Animation: stratégies de déploiement
Stratégies de déploiement
Choisissez une approche (canary, blue/green, rolling) et suivez les étapes clés, les volumes de trafic et les garde-fous.
Déployer graduellement une nouvelle version sur un faible pourcentage de trafic, avec métriques serrées.
Garde-fous critiques
- SLO erreur < 1 %
- Latence p95 < +10 %
- Pas de régressions dans les dashboards business
Indicateurs
- Temps total≈ 1 h
- Rollbackinstantané via flag/proxy
- AutomationGitOps + analyse métriques
#Exemple: pipeline GitHub Actions minimal
1name: ci2on:3 push: { branches: [ main ] }4 pull_request:5jobs:6 build-and-test:7 runs-on: ubuntu-latest8 steps:9 - uses: actions/checkout@v410 - uses: actions/setup-node@v411 with: { node-version: '20' }12 - run: npm ci13 - run: npm test -- --reporter=junit --reporter-options output=reports/junit.xml14 - run: npm run build