July 22, 2025
Jenkins to GitOps (GitHub + FluxCD): A DevOps Transformation Story

By Hussain Gandhi
Improwised Technologies Pvt. Ltd.
The New Rules of DevOps
Let’s be honest: in today’s world, “fast, secure, and scalable” isn’t aspirational, it’s the bare minimum.
For years, Jenkins was Client’s trusty hammer for building and shipping software. But when we moved to Kubernetes (to get auto-scaling, resilience, and portability across clouds!), old workflows started creaking.
When we started to study legacy setup, we proposed to use GitOps! That’s when GitOps grabbed attention, a game-changer that treats Git as the ultimate source of truth for both code and infrastructure.
In this post, I’ll take you behind the scenes of how we migrated a real project from old-school Jenkins to a slick GitOps setup (GitHub + FluxCD). Spoiler: it made everything faster, safer, and way less nerve-wracking.
Why We Went Cloud-Native
“Why Kubernetes in the first place?”
Great question! Our legacy setup (Java + Angular on VMs) couldn’t handle spikes in traffic without manual scaling. Worse, environment inconsistencies caused “works on my machine” chaos. We needed:
- Auto-scaling: To handle traffic surges without babysitting servers.
- Portability: To avoid cloud vendor lock-in.
- Resilience: Self-healing containers.
- Consistency: Identical Dev/QA/Prod environments.
Kubernetes solved these, but Jenkins wasn’t built for this new world. That’s what sparked our GitOps quest.
Where We Started: The Jenkins Grind
Our project: A Java + Angular app stuck in a maze of manual Jenkins workflows.
Picture this:
- Dev, QA, and Prod each had their own branch and pipeline (yikes!).
- Manual deploying steps:
- Merge code
- Pray
- Manually trigger Jenkins
- Clone/build
- Copy files
- Restart services with sketchy
nohup
command
The headaches were real:
- Human errors: One misclick could derail everything.
- Rollback nightmares: Like rewinding VHS tapes blindfolded.
- Pipeline sprawl: 3 environments = 3 slightly different Jenkins scripts.
- Traceability? Good luck auditing what changed.
The Lightbulb Moment: Moving to GitOps
We swapped Jenkins for Kubernetes + GitHub Actions + FluxCD, here’s the magic…
- Automated deploying steps:
- Push code to GitHub
- GitHub Actions builds a Docker image
- FluxCD (chilling in our cluster) spots the change
- Pulls updated manifests
- Deploys automatically.
No buttons. No crossed fingers. Just smooth, Git-driven flow.
Why GitOps Felt Like an Upgrade
What Changed | Why We Cheered |
---|---|
Rollbacks | git revert = instant undo. Flux handles the rest. |
Triggers | Code push = auto-deploy. Bye, “Build Now” button! |
Single Source of Truth | Git repo = the deployment playbook. No more guessing. |
Environments | One pipeline to rule them all (Kustomize/Helm FTW!). |
Security | Cluster pulls from Git → fewer attack doors. |
Visibility | Git history + Flux logs = total peace of mind. |
Jenkins vs. GitOps: The Real Talk
What We Care About | Jenkins | GitOps (GitHub + FluxCD) |
---|---|---|
Starting deployments | Manual/webhooks | Auto-triggered by Git/image changes |
When things go wrong | ”Redeploy and pray” | git revert → auto-rollback |
Tracking state | Buried in Jenkins configs | Versioned in Git (like code!) |
Security | Jenkins pushes → riskier | Cluster pulls → tighter control |
Handling environments | Separate pipelines = chaos | One pipeline + smart configs |
Debugging | Log diving in Jenkins UI | Git history + Flux status |
Maintenance | ”Why is QA’s pipeline broken?!” | Declarative = simpler sanity |
So… Which Tool Wins?
Stick with Jenkins if:
- You’re managing legacy systems.
- Your CI pipelines need crazy customization.
- Kubernetes still feels like Klingon.
Switch to GitOps if:
- You’re using Kubernetes (even just dipping your toes!).
- You want deployments as declarative as your infrastructure.
- You’re tired of herding manual processes.
What We Gained
- Near-zero rollback fails: Git reverts actually work.
- Total visibility: Devs + Ops see everything in Git.
- Fewer “why broken?!” moments: One CD layer = fewer gremlins.
The Takeaway
Jenkins isn’t dead, it’s still great for complex CI. But if you’re running containers? GitOps with FluxCD is the future. We killed manual steps, unified our environments, and finally slept through deployments.
If you’re ready to make deployments boringly reliable? GitOps is calling.
Resources

September 3, 2025
Top 10 Platform Engineering Companies Enforcing Security by Design

By Shyam Kapdi
Improwised Technologies
Pvt. Ltd.

September 1, 2025
Manage/import the OpenTofu resource indirectly created by OpenTofu

By Improwised Editorial Team
Improwised Technologies
Pvt. Ltd.

By Rakshit Menpara
Improwised Technologies
Pvt. Ltd.
Optimize Your Cloud. Cut Costs. Accelerate Performance.
Struggling with slow deployments and rising cloud costs?
Our tailored platform engineering solutions enhance efficiency, boost speed, and reduce expenses.