Open9

self-hosted runner のオートスケーリング

雪猫雪猫

Job management hooks

https://github.blog/changelog/2022-04-04-github-actions-job-management-hooks-for-self-hosted-runners/

ジョブ実行の前後でスクリプトを実行できるようになった。
AWS EC2 Auto Scaling Group でスケールインの保護機能を使えば --ephemeral オプションを使わなくてもジョブの実行を妨げずにスケールインできそう。

ジョブ実行前にスケールインの保護を設定しジョブ実行後に解除する。
ジョブ実行中はスケールインの対象とならないが待機中はスケールインの対象となる。
インスタンス終了のフックでランナーの登録解除を行う。