What are self-hosted runners and when should you use them?
Answer
Self-hosted runners are machines (physical servers, VMs, containers) that you provision and manage yourself to execute CI/CD jobs, rather than using the CI platform's managed cloud runners. In GitHub Actions, you register a self-hosted runner by installing the runner agent on your machine and connecting it to your repository or organization. Use self-hosted runners when: you need access to on-premises resources (private databases, internal artifact stores, physical hardware); you need specific hardware (GPU for ML pipelines, Apple Silicon for iOS builds); GitHub's managed runners are too slow or expensive at your scale; or compliance/security requirements mandate that build artifacts and secrets never leave your network. The tradeoff is operational overhead — you are responsible for patching, scaling, and maintaining runner infrastructure. GitHub Actions Runner Scale Sets (using Kubernetes) automate runner lifecycle management.
Previous
What are DORA metrics and why do they matter for CI/CD?
Next
How does Terraform integrate into automated CI/CD pipelines?
More CI/CD Pipelines Questions
View all →- Intermediate What is blue-green deployment and how does it achieve zero-downtime releases?
- Intermediate What is a canary release and how does it reduce deployment risk?
- Intermediate What is a rolling deployment and how does it compare to blue-green?
- Intermediate What are feature flags and how do they integrate with CI/CD?
- Intermediate What is the testing pyramid in CI/CD and where does each test type run?