ランナー グループについて
ランナーへのアクセスを組織やエンタープライズ レベルで制御するために、エンタープライズの管理者はランナー グループを使用できます。エンタープライズの管理者は、エンタープライズ内のどの組織やワークフローがランナー グループにアクセスできるかを制御するアクセス ポリシーを構成できます。
ランナー グループにアクセス権を付与する場合、組織のランナー設定に一覧表示されたランナー グループを確認できます。 必要に応じて、リポジトリとワークフローの詳細な追加アクセス ポリシーを、ランナー グループに割り当てることができます。
新しいランナーが作成されると、それらは自動的にデフォルトグループに割り当てられます。 ランナーは一度に1つのグループにのみ参加できます。 ランナーはデフォルトグループから別のグループに移動できます。 詳しくは、「ランナーをグループに移動する」をご覧ください。
Organization のセルフホストランナーグループを作成する
すべての Organization には、単一の既定のランナー グループがあります。 Enterprise アカウント内の Organization は、追加のグループを作成できます。 Organization の管理者は、個々のリポジトリにランナーグループへのアクセスを許可できます。 REST API を使ってランナー グループを作成する方法について詳しくは、「アクション」をご覧ください。
ランナーは、作成時に既定のグループに自動的に割り当てられます。一度に 1 つのグループでのみメンバーになることができます。 ランナーはデフォルトグループから作成した任意のグループに移動できます。
グループを作成するときは、ランナー グループにアクセスできるリポジトリとワークフローが定義されているポリシーを選ぶ必要があります。
-
ご自分のエンタープライズ で、Organization のメイン ページへ移動します。 1. 組織名の下で、 [設定] をクリックします。 [設定] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。
1. 左側のサイド バーで、 [アクション] 、 [ランナー グループ] の順にクリックします。 -
"ランナー グループ" セクションで、 [新しいランナー グループ] をクリックします。
-
ランナー グループの名前を入力します。
-
リポジトリ アクセスのポリシーを割り当てます。
リポジトリの特定のリストまたは組織内のすべてのリポジトリにアクセス可能なランナー グループを設定できます。
-
ワークフロー アクセス用のポリシーを割り当てます。
特定のワークフローの一覧またはすべてのワークフローからアクセスできるようにランナー グループを構成できます。 エンタープライズによって共有された組織のランナー グループを構成している場合、この設定をオーバーライドできません。 ランナー グループにアクセスできるワークフローを指定する場合は、リポジトリ名と所有者を含むワークフローへの完全なパスを使用し、ワークフローをブランチ、タグ、または完全 SHA にピン留めする必要があります。 (例:
octo-org/octo-repo/.github/workflows/build.yml@v2, octo-org/octo-repo/.github/workflows/deploy.yml@d6dc6c96df4f32fa27b039f2084f576ed2c5c2a5, monalisa/octo-test/.github/workflows/test.yml@main
)。選択したワークフロー内で直接定義されたジョブのみがランナー グループにアクセスできます。 Organization が所有するランナー グループは、Enterprise 内の別の Organization からのワークフローにはアクセスできません。代わりに、Enterprise が所有するランナー グループを作成する必要があります。 1. [グループの作成] をクリックしてグループを作成し、ポリシーを適用します。
Enterprise のセルフホストランナーグループを作成する
Enterprise を使うと、ランナーがグループに追加されて、アクセス管理を行うことができます。 Enterprise は、Enterprises アカウント内の特定の Organization 、または特定のワークフローにアクセス可能なランナーのグループを作成できます。 その後、Organization の所有者は、Enterprise ランナー グループに対し、追加の詳細なリポジトリまたはワークフロー アクセス ポリシーを割り当てることができます。 REST API を使ってランナー グループを作成する方法については、GitHub Actions REST API の Enterprise エンドポイントをご覧ください。
ランナーは、作成時に既定のグループに自動的に割り当てられます。一度に 1 つのグループでのみメンバーになることができます。 登録処理中にランナーを特定のグループに割り当てることも、後でランナーをデフォルトグループからカスタムグループに移動することもできます。
グループを作成するときは、ランナーグループにアクセスできる Organization を定義するポリシーを選択する必要があります。
-
GitHub AE の右上で、ご自分のプロファイル写真をクリックしてから、 [Enterprise 設定] をクリックします。
-
Enterprise アカウントのサイドバーで、 [ポリシー] をクリックします。 1. [ ポリシー] で、 [アクション] をクリックします。 1. [ランナー グループ] タブをクリックします。
-
[New runner group](新しいランナー グループ) をクリックします。
-
[グループ名] に、ランナー グループの名前を入力します。
-
Organization アクセスのポリシーを選ぶには、 [Organization のアクセス] ドロップダウン メニューを選び、[ポリシー] をクリックします。 組織の特定のリストまたはエンタープライズ内のすべての組織にアクセス可能なランナー グループを設定できます。
-
ワークフロー アクセス用のポリシーを割り当てます。
特定のワークフローの一覧またはすべてのワークフローからアクセスできるようにランナー グループを構成できます。 エンタープライズによって共有された組織のランナー グループを構成している場合、この設定をオーバーライドできません。 ランナー グループにアクセスできるワークフローを指定する場合は、リポジトリ名と所有者を含むワークフローへの完全なパスを使用し、ワークフローをブランチ、タグ、または完全 SHA にピン留めする必要があります。 (例:
octo-org/octo-repo/.github/workflows/build.yml@v2, octo-org/octo-repo/.github/workflows/deploy.yml@d6dc6c96df4f32fa27b039f2084f576ed2c5c2a5, monalisa/octo-test/.github/workflows/test.yml@main
)。選択したワークフロー内で直接定義されたジョブのみがランナー グループにアクセスできます。
-
[グループの保存] をクリックしてグループを作成し、ポリシーを適用します。
セルフホストランナーグループのアクセスポリシーを変更する
Enterprise のランナー グループの場合、Enterprise 内のどの Organization がランナー グループにアクセスできるかを変更したり、ランナー グループで実行できるワークフローを制限したりできます。 Organization のランナー グループの場合、Organization 内のどのリポジトリがランナー グループにアクセスできるかを変更したり、ランナー グループで実行できるワークフローを制限したりできます。
ランナー グループにアクセスできる組織またはリポジトリを変更する
-
ランナー グループが配置されている場所に移動します。
-
Organization 内: メイン ページに移動して、 [設定] をクリックします。
-
Enterprise レベルのグループを使用している場合:
-
GitHub AE の右上で、ご自分のプロファイル写真をクリックしてから、 [Enterprise 設定] をクリックします。
-
-
-
[ランナー グループ] 設定に移動します:
-
Organization 内:
- 左側のサイド バーで、 [アクション] 、 [ランナー グループ] の順にクリックします。
-
Enterprise レベルのグループを使用している場合:
- Enterprise アカウントのサイドバーで、 [ポリシー] をクリックします。 1. [ ポリシー] で、 [アクション] をクリックします。 1. [ランナー グループ] タブをクリックします。 1. グループのリストで、構成するランナー グループをクリックします。
-
-
エンタープライズ内のランナー グループの場合、 [組織のアクセス] で、ランナー グループにアクセスできる組織を変更します。 組織内のランナー グループの場合、 [リポジトリ アクセス] で、ランナー グループにアクセスできるリポジトリを変更します。
ランナー グループにアクセスできるワークフローの変更
選択したワークフローまたはすべてのワークフローを実行するようにランナー グループを構成できます。 たとえば、この設定を使って、ランナーに格納されているシークレットを保護したり、ランナー グループが特定の再利用可能なワークフローのみを実行するように制限してデプロイ ワークフローを標準化したりすることができます。 エンタープライズによって共有された組織のランナー グループを構成している場合、この設定をオーバーライドできません。
-
ランナー グループが配置されている場所に移動します。
-
Organization 内: メイン ページに移動して、 [設定] をクリックします。
-
Enterprise レベルのグループを使用している場合:
-
GitHub AE の右上で、ご自分のプロファイル写真をクリックしてから、 [Enterprise 設定] をクリックします。
-
-
-
[ランナー グループ] 設定に移動します:
-
Organization 内:
- 左側のサイド バーで、 [アクション] 、 [ランナー グループ] の順にクリックします。
-
Enterprise レベルのグループを使用している場合:
- Enterprise アカウントのサイドバーで、 [ポリシー] をクリックします。 1. [ ポリシー] で、 [アクション] をクリックします。 1. [ランナー グループ] タブをクリックします。 1. グループのリストで、構成するランナー グループをクリックします。
-
-
[ワークフロー アクセス] で、ドロップダウン メニューを選択し、 [選択したワークフロー] をクリックします。
-
をクリックします。
-
ランナー グループにアクセスできるワークフローのコンマ区切りの一覧を入力します。 リポジトリ名と所有者を含む完全なパスを使用します。 ワークフローをブランチ、タグ、または完全 SHA にピン留めします。 (例:
octo-org/octo-repo/.github/workflows/build.yml@v2, octo-org/octo-repo/.github/workflows/deploy.yml@d6dc6c96df4f32fa27b039f2084f576ed2c5c2a5, monalisa/octo-test/.github/workflows/test.yml@main
)。選択したワークフロー内で直接定義されたジョブのみがランナー グループにアクセスできます。
組織所有のランナー グループは、エンタープライズ内の別の組織からワークフローにアクセスできません。代わりに、エンタープライズ所有のランナー グループを作成する必要があります。
-
[保存] をクリックします。
ランナー グループの名前を変更する
-
ランナー グループが配置されている場所に移動します。
-
Organization 内: メイン ページに移動して、 [設定] をクリックします。
-
Enterprise レベルのグループを使用している場合:
-
GitHub AE の右上で、ご自分のプロファイル写真をクリックしてから、 [Enterprise 設定] をクリックします。
-
-
-
[ランナー グループ] 設定に移動します:
-
Organization 内:
- 左側のサイド バーで、 [アクション] 、 [ランナー グループ] の順にクリックします。
-
Enterprise レベルのグループを使用している場合:
- Enterprise アカウントのサイドバーで、 [ポリシー] をクリックします。 1. [ ポリシー] で、 [アクション] をクリックします。 1. [ランナー グループ] タブをクリックします。 1. グループのリストで、構成するランナー グループをクリックします。
-
-
[グループ名] のテキスト フィールドに新しいランナー グループ名を入力します。
-
[保存] をクリックします。
セルフホスト ランナーをグループに自動的に追加する
構成スクリプトを使うと、新しいランナーをグループに自動的に追加できます。 たとえば、このコマンドを実行すると、新しいランナーが登録されて、--runnergroup
パラメーターを使って rg-runnergroup
という名前のグループに追加されます。
./config.sh --url $org_or_enterprise_url --token $token --runnergroup rg-runnergroup
ランナー グループが存在しない場合、コマンドは失敗します。
Could not find any self-hosted runner group named "rg-runnergroup".
セルフホストランナーをグループに移動する
登録プロセス中にランナー グループを指定しない場合、新しいランナーは、自動的に既定のグループに割り当てられ、その後別のグループへの移動が可能となります。
-
ランナーが登録されている場所に移動します。
-
Organization 内: メイン ページに移動して、 [設定] をクリックします。
-
Enterprise レベルのランナーを使用している場合:
-
GitHub AE の右上で、ご自分のプロファイル写真をクリックしてから、 [Enterprise 設定] をクリックします。
-
-
-
GitHub Actions設定にアクセスしてください:
-
Organization 内:
- 左側のサイドバーで、 [アクション] 、 [ランナー] の順にクリックします。
-
Enterprise レベルのランナーを使用している場合:
- Enterprise アカウントのサイドバーで、 [ポリシー] をクリックします。 1. [ ポリシー] で、 [アクション] をクリックします。 1. [Runners](ランナー) タブをクリックします。
-
-
"ランナー" の一覧で、構成するランナーをクリックします。
-
[ランナー グループ] ドロップダウンを選択します。
-
"ランナーをグループに移動" で、ランナーの移動先グループを選択します。
セルフホストランナーグループを削除する
ランナーは、そのグループが削除されると自動的に既定のグループに戻ります。
-
ランナー グループが配置されている場所に移動します。
-
Organization 内: メイン ページに移動して、 [設定] をクリックします。
-
Enterprise レベルのグループを使用している場合:
-
GitHub AE の右上で、ご自分のプロファイル写真をクリックしてから、 [Enterprise 設定] をクリックします。
-
-
-
[ランナー グループ] 設定に移動します:
-
Organization 内:
- 左側のサイド バーで、 [アクション] 、 [ランナー グループ] の順にクリックします。
-
Enterprise レベルのグループを使用している場合:
- Enterprise アカウントのサイドバーで、 [ポリシー] をクリックします。 1. [ ポリシー] で、 [アクション] をクリックします。 1. [ランナー グループ] タブをクリックします。
-
-
グループの一覧で、削除するグループの右側にある をクリックします。
-
グループを削除するには、 [グループの削除] をクリックします。
-
確認プロンプトを確認し、 [Remove this runner group](このランナー グループの削除) をクリックします。 このグループのすべてのランナーは、既定のグループに自動的に移動します。ここでは、このグループに割り当てられたアクセス許可を継承します。