変更要約: GH-200 第4章を新規作成(ガバナンス=利用ポリシー無効/全許可/GitHub製/検証済み/許可リスト・SHA ピン留め必須化・再利用コンポーネントのアクセス設定・フォークPR承認・波及、ランナーの大規模管理=GitHubホスト/セルフホスト・ランナーグループ・IP許可リスト・プリインストール/toolcache/setup-*・トラブルシュート、暗号化シークレットと変数=組織/リポジトリ/環境のスコープと優先順位・secrets/vars・マスキング・REST API 管理)
4.2ランナーの大規模管理
GitHub ホスト型ランナーとセルフホストランナーの違いと使い分け、ランナーグループによるアクセス制御、IP 許可リストとネットワーク設定、プリインストールされたソフトウェア/ツールバージョンの把握と実行時の追加インストール、そしてランナーの監視とトラブルシュートを理解します。
ワークフローのジョブは ランナー の上で実行されます。GH-200 では、GitHub ホスト型ランナー と セルフホストランナー の違いを正しく理解し、要件に応じて選び、組織で安全に管理することが問われます。GitHub ホスト型は GitHub が用意・更新・破棄まで管理する使い捨ての仮想環境で、ジョブごとにクリーンです。セルフホストは自分のマシン/クラウドにランナーアプリを入れて登録するもので、特殊なハードウェア・社内ネットワークアクセス・大きなキャッシュなどが必要なときに使います。
| 観点 | GitHub ホスト型 | セルフホスト |
|---|---|---|
| 管理 | GitHub が管理・使い捨て | 自分で構築・保守 |
| 環境 | ジョブごとにクリーン | 状態が残りうる |
| 向くケース | 一般的な CI・素早い開始 | 特殊HW・社内NW・大規模キャッシュ |
| 課金 | 利用分課金(無料枠あり) | 自前インフラ費用 |
4.2.1ランナーグループとアクセス制御
セルフホストランナーは ランナーグループ にまとめ、「どの組織/リポジトリがそのランナーを使えるか」を制御します。これにより、機密性の高い本番デプロイ用ランナーを特定リポジトリだけに限定する、といった アクセス制御 が可能です。誰でも使えるセルフホストランナーは、悪意ある PR が機密マシン上でコードを実行する温床になり得るため、公開リポジトリではセルフホストランナーの利用に注意します(GitHub も非推奨)。ラベル を付けて runs-on: で対象ランナーを指定し、適切なグループに振り分けます。

