
So... I didn't realize my CICD pipeline was doing too much.
So... I didn't realize my CI pipeline was doing too much.
For every Kubernetes project I've built, my deployment flow has looked something like this.
Code gets pushed to GitHub.
GitHub Actions builds a new Docker image, tags it with the commit SHA, and pushes it to Amazon ECR.
From there, the GitHub runner SSHs into my Kubernetes server, updates the image, runs Kustomize, and deploys the latest version.
It works.
I've built multiple projects this way.
But one thing always felt off...
My CI pipeline was responsible for both building and deploying the application.
Argo CD has been on my radar for a while. So when I finally got my hands dirty with it...
Instead of my GitHub runner reaching into the cluster to perform deployments, the cluster watches my Git repository and reconciles itself to the desired state.
The deployment doesn't happen to the cluster anymore.
The cluster pulls the changes itself.
It's one of those Kubernetes tools you don't fully appreciate until you start thinking about production-grade systems.
Every time I improve one part of my platform, I feel like my engineering skills improves too .