Sobes.tech
Junior

Qu'est-ce que le déploiement continu (continuous deployment) ?

sobes.tech IA

Réponse de l'IA

Il s'agit d'une approche en développement logiciel où chaque modification, ayant passé un pipeline de tests automatisés et étant approuvée, est déployée automatiquement en environnement de production. La principale différence avec la Livraison Continue est l'absence d'une étape manuelle d'approbation avant le déploiement en production.

Étapes principales :

  1. Commit : Le développeur effectue un commit des modifications dans le système de contrôle de version (par exemple, Git).
  2. Build : Construction automatique de l'artéfact (image, paquet, etc.).
  3. Test : Exécution de tests automatiques (tests unitaires, d'intégration, fonctionnels, de charge, etc.).
  4. Deploy : Si tous les tests réussissent, l'artéfact est déployé automatiquement en environnement de travail.

Composants clés :

  • Niveau élevé d'automatisation.
  • Infrastructure fiable.
  • Utilisation des pratiques d'Intégration Continue (CI) et de Livraison Continue (CD).
  • Surveillance et journalisation pour détecter rapidement les problèmes.
  • Capacité de rollback rapide.
# Exemple d'une partie du pipeline dans GitLab CI/CD
stages:
  - build
  - test
  - deploy

build_job:
  stage: build
  script:
    - echo "Construction de l'application..."
    - # Commandes de build ici

test_job:
  stage: test
  script:
    - echo "Exécution des tests..."
    - # Commandes de test ici
  only:
    - main # Déclenche uniquement pour la branche principale

deploy_job:
  stage: deploy
  script:
    - echo "Déploiement en production..."
    - # Commandes de déploiement ici
  when: on_success # Déployer uniquement si les étapes précédentes réussissent
  only:
    - main
Avantages Inconvénients
Lancement rapide de nouvelles fonctionnalités/corrections Exigences élevées en matière de qualité des tests
Réduction du TTM (Time To Market) Risque potentiel de déploiement de changements indésirables
Diminution du risque à chaque déploiement Complexité de mise en œuvre sans processus CI/CD matures
Retour d'information rapide des utilisateurs Nécessité d'une surveillance fiable et d'une capacité de rollback