6 Self-hosted runners
This chapter covers
- Setting up self-hosted runners
- Securely configuring your runners
- Using ephemeral runners
- Choosing autoscaling options
- Setting up autoscaling with actions-runner-controller
In Chapter 5, Runners, we have seen how we can use GitHub hosted runners, for which purposes they can be used, as well as how billing works for those hosted runners. You can also install your own runners in your own environments. These are then called self-hosted runners. Creating self-hosted runners gives you full control over their execution environment, like placing it inside of the company network, or adding specific hardware or software capabilities. Self-hosted runners can also be beneficial from a cost perspective, since you do not need to pay any Action minutes to GitHub for jobs that run on self-hosted runners. There is, of course, a ‘cost’ associated with hosting, setup, and system administrative tasks that you will have to do to keep the environments you host the runners on up to date and secure.