Skip to content
Latchkey

runner group とは?runner の整理と保護

runner group とは、どのリポジトリとワークフローがそれらを使うことを許可されるかを制御するアクセスポリシーを備えた、名前付きの runner のバケットです。

組織が多くの runner を持つようになると、誰が何を使えるかを制御する必要があります。runner group はアクセス制御の層です。特定のリポジトリのために runner のセットを予約し、機密性の高い runner を他から手の届かないところに保つことができます。

group が行うこと

runner group は self-hosted runner のセットをまとめ、ポリシーを付与します。組織内のどのリポジトリ(およびオプションでどのワークフロー)がそれらの runner に job を送ることを許可されるか、です。どのカスタム group にも属さない runner はデフォルトの group に入ります。

なぜ group が重要なのか

  • 隔離: 本番ネットワークの runner を信頼できない repo から遠ざける。
  • コスト制御: 高価な GPU や大型の runner を、それを必要とするチームのために予約する。
  • コンプライアンス: 規制対象のワークロードを承認されたハードウェアに制限する。

group vs label

label は job がどの runner に一致するかを決め、group はそもそも repo がどの runner に到達を許可されるかを決めます。両者は連携します - repo は group へのアクセスを持ち、job はその中の label に一致しなければなりません。

よくある落とし穴

対象の runner を持つ group へのアクセスを欠く repo は、一致する runner が存在しても job がキューで止まって見えます。label だけでなくアクセスポリシーが、止まった job の原因になり得ます。

マネージドフリートの group

マネージドプラットフォームでは、プロバイダーが基盤となるキャパシティを扱う一方で、どの repo がそれを使えるかは依然としてあなたが制御します。中にある runner を運用することなく、group スタイルのアクセス境界が得られます。

重要なポイント

  • runner group とは、repo アクセスポリシーを備えた名前付きの runner のセットです。
  • どのリポジトリがどの runner を使えるかを制御します。
  • group はアクセスを、label はマッチングを扱います - 両者は組み合わさります。
  • group アクセスの欠如は、一致する runner が存在しても job をキューさせることがあります。

関連ガイド