:PROPERTIES: :ID: 607219f8-675b-4244-a3ce-b399bf210366 :mtime: 20220429094502 :ctime: 20220429091956 :END: #+title: CI/CD * Introduction * Comble le fossé entre les activités et les équipes de développement et d'exploitation en imposant : * L'automatisation de la création, des tests (CI), * Du déploiement des applications (CD). * Les pratiques DevOps modernes impliquent le CI/CD et la surveillance continue des applications logicielles tout au long de leur cycle de vie. * CI (Continuous Integration) * Première étape du pipeline, * Intégration des modifications apportées au code par différents développeurs dans un dépôt (ie: Git), * Exécution de tests unitaires et d'intégration, * Couplé au process de développement [[id:6da0b985-e6f4-4454-bb6a-e941b722365b][Test driven development]]. * CD (Continuous Delivery/Continuous Deployment) ** Continuous Delivery * Livraison manuelle du /build/ (dépose dans un app store par exemple), * Quand il est nécessaire de réaliser des tests manuels (/acceptance tests/) après le CI. ** Continuous Deployment * Livraison automatique du code sortant du CI (résultats de test satisfaisants). * Permet une plus grande réactivité: livraison dès que le code est prêt (plus de livraison formelle), * Ajoute une pression sur l'équipe de développement, * Nécessite que les tests effectués en CI soient suffisants. * Références * [[https://fr.wikipedia.org/wiki/CI/CD][Wikipedia]] * [[https://blog.devgenius.io/a-simple-definition-of-the-ci-cd-pipeline-8a48169be938?source=rss----4e2c1156667e---4][Definition of the CI/CD pipeline - Medium]]