Le Continuous Deployment est la pratique de déployer automatiquement chaque modification de code en production après avoir passé toutes les étapes de vérification. Contrairement au Continuous Delivery, où la version nécessite une approbation manuelle, ce modèle élimine le facteur humain du processus de déploiement. Selon le rapport Puppet State of DevOps, 2025, les équipes avec CD configuré réalisent 106 fois plus de déploiements fréquents par rapport aux approches traditionnelles.
Points clés
Continuous Deployment est une méthodologie de développement où chaque modification de code qui passe toutes les vérifications automatisées est automatiquement déployée dans l'environnement de production. Le processus ne nécessite pas d'approbation manuelle — si le code passe la compilation, les tests et l'analyse, il atteint immédiatement les utilisateurs.
Le concept de CD est étroitement lié à la culture DevOps et nécessite un haut degré d'automatisation. L'équipe doit faire confiance à ses tests et disposer de mécanismes de retour arrière rapide en cas de problèmes. Sans ces conditions, le déploiement automatisé devient risqué.
Selon Google Cloud DORA, 2025, les exécutants d'élite (elite performers) déploient du code plusieurs fois par jour alors que les équipes peu performantes déploient une fois par mois. Cet écart est atteint précisément grâce au Continuous Deployment et aux pratiques CI/CD associées.
Dans l'approche traditionnelle, les versions ont lieu toutes les quelques semaines ou mois. Les développeurs accumulent les modifications, ce qui entraîne des fusions complexes et des conflits. Le CD inverse ce modèle : les modifications sortent une par une, immédiatement après leur achèvement. Cela réduit la complexité de chaque version et simplifie la recherche de problèmes.
La mise en œuvre du CD nécessite des feature flags (interrupteurs de fonctionnalité) qui permettent de masquer les fonctionnalités incomplètes aux utilisateurs. Sans eux, les développeurs ne peuvent pas fusionner du code non terminé en toute sécurité. Une surveillance complète et des alertes sont également nécessaires — si un déploiement casse l'environnement, l'équipe doit le savoir en quelques minutes.
L'assurance qualité dans le CD n'est pas une phase distincte mais un processus continu. Chaque commit passe par des centaines ou des milliers de tests automatisés : unitaires, d'intégration, d'interface utilisateur et de captures d'écran. Si un seul test échoue — le déploiement est bloqué jusqu'à ce qu'il soit corrigé.
Les termes CI, CD et Continuous Delivery sont souvent confondus, bien qu'ils décrivent différentes étapes de l'automatisation de la livraison de code. Comprendre les différences est essentiel pour construire le bon pipeline.
| Pratique | Ce qu'elle fait | Résultat |
|---|---|---|
| CI (Intégration Continue) | Compilation et tests automatiques à chaque commit | Le code est toujours en état de fonctionnement |
| Continuous Delivery | CI + préparation automatique de la version (déclencheur manuel de déploiement) | La version est prête à être déployée à tout moment |
| Continuous Deployment | Continuous Delivery + déploiement automatique en production | Les modifications arrivent aux utilisateurs sans délai |
L'Intégration Continue (CI) est le fondement des deux modèles. Sans elle, ni Continuous Delivery ni CD ne sont possibles. La CI garantit que le code n'est pas cassé et qu'il est prêt pour les étapes suivantes.
Continuous Delivery c'est quand l'équipe peut appuyer sur un bouton à tout moment et déployer une version. La différence avec le CD est que Continuous Delivery laisse la décision finale à une personne (Responsable des versions ou ingénieur DevOps). Le CD élimine complètement cette barrière.
Pour les projets avec des exigences réglementaires (fintech, santé) ou lorsque chaque version nécessite une révision manuelle obligatoire (approbation des parties prenantes), Continuous Delivery sans automatisation complète est un choix plus sûr. Le CD fonctionne mieux pour les produits SaaS et les applications mobiles avec des cycles de mise à jour rapides.
Un pipeline CD complet comprend plusieurs étapes séquentielles. Chaque étape filtre les défauts — si une étape est réussie, le code passe à la suivante. Examinons une chaîne typique pour une application mobile.
Tout commence par un push dans le dépôt. Un serveur CI (par exemple, GitHub Actions ou Jenkins) reçoit une notification webhook, charge la dernière version du code et lance la compilation. Pour Android, cela peut être `./gradlew assembleRelease`, pour iOS — `xcodebuild -workspace App.xcworkspace -scheme App -configuration Release`.
name: CI Pipeline
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Build Android APK
run: ./gradlew assembleRelease
- name: Run Unit Tests
run: ./gradlew test DebugUnitTestCoverage
Après une compilation réussie, les tests sont exécutés : unitaires, d'intégration, d'interface utilisateur et analyse statique du code. Le système de contrôle qualité vérifie la couverture du code, la présence de vulnérabilités et la conformité au style de code. Si les seuils ne sont pas atteints — le pipeline s'arrête.
Si tous les tests réussissent, l'artefact est automatiquement déployé dans l'environnement de staging. Là, des tests de bout en bout et des tests de performance sont exécutés. À cette étape, des vérifications d'intégration avec des services externes peuvent être connectées.
L'étape finale est le déploiement en production. Pour réduire les risques, des déploiements canary (canary releases) sont utilisés, où la nouvelle version est d'abord distribuée à un petit pourcentage d'utilisateurs. Si les métriques sont stables — le trafic augmente progressivement jusqu'à 100%.
pipeline {
agent any
stages {
stage('Build') {
steps {
sh './gradlew assembleRelease'
}
}
stage('Test') {
steps {
sh './gradlew test'
}
}
stage('Deploy') {
steps {
sh './deploy.sh --canary 5%'
}
}
}
post {
failure {
notify 'devops-team'
}
}
}
Il existe de nombreuses plateformes sur le marché qui prennent en charge le CD. Le choix dépend de la pile technologique, de la taille de l'équipe et du budget d'infrastructure. Examinons les principales catégories et leurs représentants.
GitHub Actions, GitLab CI/CD, CircleCI et Bitbucket Pipelines offrent une prise en charge intégrée des pipelines. Ils s'intègrent aux registres cloud (Docker Hub, GitHub Container Registry) et prennent en charge le déploiement sur AWS, Google Cloud, Azure et Firebase App Distribution.
Spinnaker, ArgoCD et Flux sont des outils exclusivement dédiés au CD. Ils fournissent des stratégies de déploiement avancées : blue-green, canary, rolling update. ArgoCD est particulièrement populaire dans l'écosystème Kubernetes grâce à l'approche GitOps, où l'état de l'infrastructure est décrit dans un dépôt Git.
Fastlane est la norme de facto pour automatiser les compilations et les publications sur l'App Store et Google Play. Il s'intègre aux serveurs CI et gère la signature de code, les captures d'écran, la distribution bêta via TestFlight et Internal App Sharing. Bitrise et Codemagic sont des outils CI/CD spécialisés pour les applications mobiles.
# Fastfile — configuration Fastlane
default_platform(:android)
platform :android do
desc "Deploy a new version to Google Play"
lane :deploy do
gradle(task: 'assembleRelease')
upload_to_play_store(
track: 'production',
release_status: 'completed'
)
end
end
La transition vers le Continuous Deployment nécessite non seulement une préparation technique mais aussi des changements dans la culture d'équipe. Sans les bonnes pratiques, le déploiement automatisé peut entraîner des incidents fréquents et une perte de confiance dans le processus.
Les feature flags permettent de déployer du code incomplet en production tout en le masquant aux utilisateurs. C'est le fondement du CD — les développeurs peuvent fusionner des modifications à tout moment sans attendre la fin d'une fonctionnalité. LaunchDarkly, Flagsmith et ConfigCat sont des plateformes populaires pour gérer les feature flags.
Sans métriques, il est impossible d'évaluer le succès d'un déploiement. Métriques clés : latence, taux d'erreur, débit. Utilisez des outils comme Datadog, New Relic ou Grafana pour surveiller chaque version en temps réel.
Une pratique critique du CD est le mécanisme de retour arrière automatique. Si les métriques se dégradent après le déploiement (le taux d'erreur dépasse un seuil), le système doit automatiquement revenir à la version précédente. Cela réduit le temps moyen de récupération (MTTR) d'heures à minutes.
Le pipeline CD est un actif précieux et une cible potentielle d'attaques. Utilisez la gestion des secrets (Vault, AWS Secrets Manager), signez les artefacts et les conteneurs, analysez les dépendances pour les vulnérabilités (Dependabot, Snyk). Ne stockez jamais les clés d'accès dans le dépôt.
Questions fréquentes
Continuous Delivery prépare une version mais nécessite une approbation manuelle pour le déploiement en production. Continuous Deployment automatise également cette étape — le code arrive aux utilisateurs sans intervention humaine après avoir passé toutes les vérifications.
Techniquement oui, mais cela complique considérablement le processus. Sans feature flags, les développeurs ne peuvent pas fusionner du code incomplet, ce qui ralentit le travail et augmente le risque de conflits de fusion.
Pour une petite équipe partant de zéro — de 2 à 6 mois. Le temps dépend du niveau d'automatisation actuel, de la complexité du projet et de la disposition de l'équipe à changer les processus.
Les principales métriques DORA : fréquence de déploiement (deploy frequency), délai d'exécution des modifications (lead time), temps moyen de récupération (MTTR) et taux d'échec des modifications (change failure rate).
Non, pour les projets avec des exigences réglementaires strictes (par exemple, les systèmes médicaux ou financiers), une acceptation manuelle de chaque version est souvent requise. Dans ces cas, Continuous Delivery est préférable.
Résumé
Nous développerons une application mobile clé en main
IT Sectr crée des applications iOS et Android pour les startups et les entreprises depuis 2017. Nous vous conseillerons et vous proposerons la meilleure solution.