CI/CD & GitOps Practical By Samson Tanimawo, PhD Published Sep 15, 2025 4 min read

Build Agent Rotation

Long-running agents accumulate state.

Ephemeral

The single biggest reliability win in CI is making every build runner ephemeral. A runner that exists only for the duration of one job, then disappears, cannot accumulate state, cannot be poisoned by a previous build, cannot drift from its image, and cannot serve as the host for a quiet credential leak. Every problem caused by long-lived build infrastructure goes away when the runner's lifetime is shorter than its blast radius.

What ephemeral runners actually buy you:

The cost of ephemeral runners is roughly 30 to 90 seconds of cold start per job, which is real but bounded. The benefit is a CI system that does not require a dedicated SRE to keep it healthy.

Hosted runners

If you use GitHub Actions hosted runners, GitLab SaaS shared runners, or CircleCI cloud executors, your runners are already ephemeral by design. Each job lands on a fresh container or VM, runs to completion, and is destroyed. There is nothing to rotate, nothing to patch, nothing to keep clean. The provider does it.

If you can use hosted runners and your security team signs off, do it. The operational overhead is essentially zero compared to self-hosted.

Self-hosted

Self-hosted runners are necessary when you need network access to private resources (a VPC, an on-prem database, a regulated data plane) or when the cost math at high build volume tips against hosted. The price is that you are now responsible for all the runner hygiene the hosted provider gave you for free.

Treat self-hosted runners like cattle, not pets. Nova AI Ops watches build runner health (job duration drift, error rate by host, age in pool) and pages when a self-hosted runner is showing the canary symptoms before it starts producing false test failures and burning engineer-hours on the resulting flake hunts.