C'est quoi réellement un CI/CD (Continous Integration/Continous Deployement) ?

cicdDevops
C'est quoi réellement un CI/CD - Banner

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