DevOps & CI/CD
Jenkins, Ansible, Terraform, Git and release engineering.
DevOps & CI/CD articles
Git Rebase vs Merge: When to Use Which
Merge preserves what happened; rebase rewrites it to look tidy. The only hard rule: don't rebase commits other people have pulled.
October 24, 2026Recovering From Common Git Mistakes
Almost nothing in Git is truly lost for ~90 days. Here's the recovery command for each 'oh no' — bad reset, deleted branch, wrong branch, committed secret.
October 24, 2026Structuring an Ansible Playbook You Can Maintain
Ansible scales badly when everything's in one playbook. Roles, group_vars, and a predictable directory layout are what keep it maintainable past 20 hosts.
October 24, 2026Semantic Versioning in Practice
SemVer is a contract about breakage, not a vanity number. Here's what each bump means, how ranges resolve, and how to stop bumping versions by hand.
October 24, 2026Trunk-Based Development, Practically
One shared branch, small changes merged daily, features hidden behind flags until ready. Why most high-throughput teams moved off GitFlow.
October 24, 2026Terraform State, Explained
The mental model for Terraform state — plus remote backends, locking, and the state subcommands you need when reality and state disagree.
October 24, 2026Jenkins Pipeline as Code
A Jenkinsfile in the repo beats clicking through the UI. Here's the declarative pipeline structure, credential handling, and the shared-library pattern.
August 31, 2026