ArgoCD
Quand Git devient ton outil de déploiement
Avec GitHub Actions, on a automatisé les pipelines CI/CD directement dans Git.
Mais il restait un problème : la gestion des déploiements en production.
Dans un monde où Kubernetes est devenu la norme, on devait encore faire des trucs à la main :
— Lancer un
kubectl apply
pour déployer une nouvelle version.
— Mettre à jour des fichiers YAML et croiser les doigts pour que tout fonctionne.
— Galérer avec les rollbacks en cas de problème.
Bref, pas hyper automatisé.
Et c’est là que GitOps est arrivé.
Le concept du GitOps
L’idée est simple :
“Si tout le code est dans Git… pourquoi ne pas y mettre aussi l’infrastructure et les déploiements ?”
En gros :
- Tu déclares l’état souhaité de ton infra (
pods
,services
,configs
…) dans Git. - Un outil observe Git et synchronise automatiquement Kubernetes.
- Si quelqu’un modifie l’infra à la main, l’outil remet tout en conformité avec Git.
Et l’outil qui a popularisé ça, c’est ArgoCD (sorti en 2019).
Pourquoi ArgoCD a changé la donne ?
- Déploiements déclaratifs → Plus de commandes
kubectl
, tout passe par Git. - Auto-sync → L’état réel doit toujours correspondre à l’état décrit dans Git.
- Rollbacks ultra simples → Une erreur ? Un simple
git revert
et tout redevient comme avant. - Audit & traçabilité → Tout changement est versionné et approuvé via des PRs.
ArgoCD a permis de rendre le déploiement en production aussi simple qu’un git push
.
Mais pour que tout ça fonctionne bien dans les gros projets, il manquait encore un dernier élément clé :
- ➡ Un moyen d’accélérer les builds et de gérer les monorepos efficacement.
➡ Et c’est là que Nx & Turborepo entrent en scène.