
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, we saw how we can use GitHub-hosted runners, when they are useful, as well as how billing works for those hosted runners. You can also install your own runners in your own environments, which are referred to as 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 for any action minutes for jobs that run on self-hosted runners. There is, of course, a cost associated with hosting, setup, and system administrative tasks you will have to complete to keep the environments you host the runners on up to date and secure.