CI/CD, c'est automatiser l'intégration des nouvelles fonctionnalités et le déploiement des applications.
Continuous Integration
À chaque ajout de code, fix ou feature, vous lancez vos tests. Fait à la main, ça devient vite pénible.
Avec un CI, vous fusionnez les changements et c'est lui qui s'en occupe. Il vous prévient si des tests cassent, vous détectez les erreurs au plus tôt.
Continuous Deployment
Sans CD, le déploiement c'est : connexion SSH, mise à jour du repo, build, redémarrage de l'appli. Lent et répétitif.
Avec un CD, vous poussez vos changements et c'est en ligne.
CI et CD fonctionnent souvent ensemble : après l'intégration, les changements partent directement en production.
Pas de magie
Ce sont exactement les mêmes étapes manuelles, simplement mises dans un fichier de configuration.
La plupart des plateformes (GitHub Actions, GitLab CI, etc.) proposent des plugins pour faciliter ça. Par exemple, appleboy/ssh-action pour se connecter en SSH depuis GitHub Actions.
Si vous voulez voir comment j'ai intégré un CI/CD pour une application Next.js avec Docker : https://github.com/heryTz/finance/blob/main/.github/workflows/deploy.yml
