GitHub Actions のランナーグループとは?
ランナーグループはセルフホステッドランナーの集合で、どのリポジトリやワークフローが利用できるかを制御するポリシーを持ちます。
組織が多数のセルフホステッドランナーを持つ場合、誰がそれらで実行できるかを制御する必要があります。ランナーグループはランナーをまとめ、アクセスポリシーを適用することで、機密性の高いハードウェアがすべてのリポジトリに開かれないようにします。
概要
組織またはエンタープライズレベルの名前付きグループで、セルフホステッドランナーを含み、どのリポジトリやワークフローがそのグループをターゲットにできるかのルールを持ちます。
仕組み
ランナーをグループに割り当て、たとえば特定のリポジトリのみ、あるいはプライベートリポジトリのみといったアクセスポリシーを設定します。ジョブはランナーのラベルに一致することでグループに到達しますが、そのリポジトリが許可されている場合に限られます。
Targeting a group
jobs:
build:
runs-on:
group: production-runners
labels: [self-hosted, linux]重要な理由
ランナーグループはインフラに最小権限を強制します。クラウド認証情報を持つ deploy ランナーを deploy リポジトリに限定でき、信頼できないコードを特権マシンから遠ざけられます。
ガバナンス上の利点
- 強力な、または認証情報付きのランナーを利用できるリポジトリを制限する。
- 環境 (prod と dev) をグループごとに分離する。
- キャパシティを一元的に監査・管理する。
関連する概念
ランナーグループはセルフホステッドランナーを整理し、ターゲット指定とアクセス制御のためにラベルと連携します。
重要なポイント
- ランナーグループはセルフホステッドランナーをアクセスポリシーとともにまとめます。
- ポリシーは、どのリポジトリやワークフローが利用できるかを制限します。
- CI インフラに最小権限を強制します。
関連ガイド
What Is a Self-Hosted Runner in GitHub Actions?A self-hosted runner is a machine you own and register to GitHub to run Actions jobs, giving control over har…
What Is a Runner Label in GitHub Actions?A runner label is a tag on a runner that jobs match in runs-on, letting you route work to runners with the ri…
What Is Actions Runner Controller (ARC)?Actions Runner Controller (ARC) is a Kubernetes operator that autoscales self-hosted GitHub Actions runners a…
What Is a GitHub Actions Runner?A runner is the machine that executes a GitHub Actions job. It can be GitHub-hosted, self-hosted, or a manage…