For a long time, GitHub Actions did exactly what I needed.
Push to main.
YAML runs.
Stuff deploys.
Nothing was broken.
But something felt… off.
When “Working” Still Feels Wrong
Every time my pipeline got messy, I did the obvious thing:
I added more YAML.
Because clearly the problem was not enough YAML.
It still worked.
But opening those workflows started feeling uncomfortable.
Not confusing.
Just… heavy.
When CI Quietly Becomes Infrastructure
At some point, my pipelines weren’t just building code anymore.
They were:
SSH’ing into servers
installing things
managing Docker
handling secrets I didn’t want to mess up
CI wasn’t CI anymore.
It was infrastructure — pretending not to be.
That’s when I stopped trusting it.
Nothing Was Broken — And That Was the Problem
The setup worked.
Which meant I didn’t touch it.
Which meant I didn’t fully understand it anymore.
I Wasn’t Looking for Better Tools
I wasn’t trying to “modernize” anything.
I just wanted one thing:
Predictability.
That’s when I started leaning into Ansible.
Why Ansible Felt Calm (In a Suspicious Way)
Instead of scripting steps, I described outcomes.
I ran the same playbook twice.
Nothing broke.
That felt… suspiciously peaceful.
What CI Stopped Needing to Do
Once servers had their own logic, CI got simpler.
It didn’t need to:
- manage machines
- hold state
- be clever
It just needed to run jobs.
Which was a relief.
Why Jenkins Actually Made Sense
I avoided Jenkins for a long time.
Mostly because of the jokes.
But when I needed:
- longer jobs
- clearer control
- less magic
…it fit.
Not pretty.
Just honest.
Where I Am Now
- Ansible for servers.
- Jenkins for pipelines.
- Docker for workloads.
I understand it.
And that matters more than being “advanced”.
If This Sounds Familiar :
If your CI/CD works but feels heavy…
If you’re scared to touch it…
If you don’t fully trust it…
You’re not alone.
Did you stay with GitHub Actions?
Did you move away?
What finally pushed you to change?
I’d love to hear how others ended up here.
Top comments (0)