Février 2025 - S5Le CI/CD (Continuous Integration / Continuous Deployment) est un ensemble de pratiques DevOps qui permettent d'automatiser et d'accélérer le développement, les tests et le déploiement des applications. Son objectif est de garantir une livraison continue et fiable du code tout en minimisant les erreurs.
Le CI/CD repose sur deux concepts principaux :
<aside> 💡
Ce cours vous guidera à travers les principes fondamentaux du CI/CD et vous permettra de mettre en place une chaîne CI/CD sur un projet Symfony.
</aside>
L'intégration continue consiste à détecter rapidement les erreurs en automatisant une série de vérifications lorsque du code est ajouté au dépôt, tout en garantissant l'application des bonnes pratiques pour un travail collaboratif efficace.
ESLint pour JavaScript, Pylint pour Python, PHP_CodeSniffer pour PHP).tsc pour TypeScript, flake8 pour Python, php -l pour PHP).PHPUnit pour PHP).Bandit pour Python, Snyk pour JavaScript, PHPStan ou Psalm pour PHP, Composer Audit pour analyser les dépendances PHP).<aside> ➡️
L'objectif est que chaque modification soumise dans un dépôt de code source (ex : GitHub, GitLab) déclenche ces processus de manière automatisée via un pipeline CI (ex : GitHub Actions, GitLab CI/CD, Jenkins).
</aside>