Février 2025 - S5
Le 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>