Guides
How to build custom runner images
Every job spends minutes installing the same tools.
6 min read
Every job spends minutes installing the same tools.
Why it happens
Runner images ship a general toolchain; anything specific to you is installed per job.
How to fix it
- Bake slow-to-install tooling into a custom image
- Rebuild the image on a schedule so security updates land
- Version images and pin workflows to a version for reproducibility
- Weigh it against snapshot runners, which need no image pipeline
Your next build could be twice as fast, at half the price
Start free. Migrating away is the same one line, and we publish that diff too.
Related
How to scale self-hosted runnersSelf-hosted runners either queue at peak or sit idle and expensive.How to use runner groupsAny repository can schedule jobs on any runner.How to design a runner label strategyLabels grew organically and nobody knows which to use.Hosted or BYOC: how to chooseYou are unsure whether to use hosted runners or deploy into your own cloud.