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

12 juillet 2024
cicd
Devops
C'est quoi réelement un CI/CD - Banner

CI/CD est une pratique visant à automatiser l'intégration des nouvelles fonctionnalités et le déploiement des applications.

Je vous explique:

✅ Continous Integration

Pendant le développement, à chaque ajout de nouveaux changements (fix, feature, etc.), vous exécutez vos tests. Cette pratique peut devenir très lente si vous le faites manuellement, surtout lorsque cela devient fréquent.

Mais vous pouvez automatiser cela avec un CI. Vous fusionnez simplement les nouveaux changements et le CI se charge d'exécuter vos tests. Il vous avertit si certains tests échouent, vous permettant de détecter rapidement les erreurs.

✅ Continous Deployment

Pendant le déploiement, vous vous connectez en SSH à votre serveur, mettez à jour le repo de l'application, construisez ce qui doit l'être, et redémarrez l'application. Que c'est lent 🥵.

Avec un CD, vous pouvez automatiser tout cela. Vous poussez simplement vos changements et up, c'est en ligne.

Souvent, CI et CD fonctionnent ensemble car après l'intégration des nouveaux changements, ils sont mis en ligne.

💥 Spoiler

Il n'y a pas de magie dans toutes ces automatisations. Ce sont les mêmes étapes manuelles que vous mettez dans le fichier de configuration de votre CI/CD.

La plupart des plateformes CI/CD (GitHub Actions, GitLab CI, etc.) proposent des plugins pour faciliter la configuration. Par exemple, il y a le plugin "appleboy/ssh-action" pour se connecter en SSH sur GitHub Action.


Si vous voulez voir comment j'ai intégré un CI/CD pour une application Next.js avec Docker, cliquez sur le lien ci-dessous: 👇 https://github.com/heryTz/finance/blob/main/.github/workflows/deploy.yml