关于运行器组
要在组织和/或企业级别控制对运行器的访问权限,企业管理员可以使用运行器组。企业管理员可以配置访问策略,用于控制企业中的哪些组织和工作流有权访问运行器组。
当你授予对运行器组的访问权限时,可以看到组织的运行器设置中列出的运行器组。 或者,你可以为运行器组分配更精细的存储库和工作流访问策略。
新运行器在创建时,将自动分配给默认组。 运行器每次只能在一个组中。 您可以将运行器从默认组移到另一组。 有关详细信息,请参阅“将运行器移动到组”。
为组织创建自托管的运行器组
所有组织都有单个默认运行器组。 企业帐户中的组织可以创建其他组。 组织管理员可以允许单个仓库访问运行器组。 有关如何使用 REST API 创建运行器组的信息,请参阅“操作”。
运行器在创建时会自动分配给默认组,并且每次只能成为一个组的成员。 您可以将运行器从默认组移到您创建的任何组。
创建组时,你必须选择一个策略,用于定义哪些存储库和工作流有权访问运行器组。
-
在 你的企业 上,导航到组织的主页。 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
。只有直接在所选工作流程中定义的作业才能访问运行器组。组织拥有的运行器组无法访问企业中其他组织的工作流;相反,你必须创建企业拥有的运行器组。 1. 单击“创建组”以创建组并应用策略。
为企业创建自托管运行器组
企业可以将其运行器添加到组以进行访问管理。 企业可以创建运行器组,这些组可供企业帐户中的特定组织或特定工作流访问。 然后,组织所有者可以为企业运行器组分配更精细的存储库和工作流访问策略。 有关如何使用 REST API 创建运行器组的信息,请参阅 GitHub Actions REST API 中的企业终结点。
运行器在创建时会自动分配给默认组,并且每次只能成为一个组的成员。 您可以在注册过程中将运行器分配给特定组,也可以稍后将运行器从默认组移到自定义组。
创建组时,必须选择用于定义哪些组织有权访问运行器组的策略。
-
在 GitHub AE 的右上角,单击你的个人资料照片,然后单击“企业设置”。
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
。只有直接在所选工作流程中定义的作业才能访问运行器组。
-
单击“保存组”以创建组并应用策略。
更改自托管运行器组的访问策略
对于企业中的运行器组,你可以更改企业中可以访问运行器组的组织或限制运行器组可以运行的工作流。 对于组织中的运行器组,你可以更改组织中可访问运行器组的存储库或限制运行器组可运行的工作流。
更改可以访问运行器组的组织或存储库
-
导航到运行器组所在的位置:
-
在组织中:
- 导航到主页并单击 “设置”。
-
如果使用的是企业级组:
- 在 GitHub AE 的右上角,单击你的个人资料照片,然后单击“企业设置”。
- 在 GitHub AE 的右上角,单击你的个人资料照片,然后单击“企业设置”。
-
-
导航到“运行器组”设置:
-
在组织中:
- 在左侧边栏中,单击“操作”,然后单击“运行器组” 。
-
如果使用的是企业级组:
- 在企业帐户边栏中,单击“ 策略”。 1. 在“ 策略”下,单击“操作”。 1. 单击“运行器组”选项卡。 1. 在组列表中,单击要配置的运行器组。
-
-
对于组织中的运行器组,在“存储库访问”下,使用下拉菜单单击“所选组织”。
- 在下拉菜单右侧,单击 。
- 在弹出窗口中,使用复选框选择可以访问此运行器组的存储库。
-
对于企业中的运行器组,在“组织访问”下,使用下拉菜单单击“所选组织”。
- 在下拉菜单右侧,单击 。
- 在弹出窗口中,使用复选框选择可以使用此运行器组的组织。
-
单击 “保存组”。
更改可以访问运行器组的工作流程
可以将运行器组配置为运行选定工作流或所有工作流。 例如,可以使用此设置来保护存储在运行器上的机密,或者通过将运行器组限制为仅运行特定的可重用工作流来标准化部署工作流。 如果配置企业共享的组织的运行组,则不能覆盖此设置。
-
导航到运行器组所在的位置:
-
在组织中:
- 导航到主页并单击 “设置”。
-
如果使用的是企业级组:
- 在 GitHub AE 的右上角,单击你的个人资料照片,然后单击“企业设置”。
- 在 GitHub AE 的右上角,单击你的个人资料照片,然后单击“企业设置”。
-
-
导航到“运行器组”设置:
-
在组织中:
- 在左侧边栏中,单击“操作”,然后单击“运行器组” 。
-
如果使用的是企业级组:
- 在企业帐户边栏中,单击“ 策略”。 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
。只有直接在所选工作流程中定义的作业才能访问运行器组。
组织拥有的运行器组无法访问企业中其他组织的工作流程。相反,您必须创建企业拥有的运行器组。
-
单击“ 保存”。
更改运行器组的名称
-
导航到运行器组所在的位置:
-
在组织中:
- 导航到主页并单击 “设置”。
-
如果使用的是企业级组:
- 在 GitHub AE 的右上角,单击你的个人资料照片,然后单击“企业设置”。
- 在 GitHub AE 的右上角,单击你的个人资料照片,然后单击“企业设置”。
-
-
导航到“运行器组”设置:
-
在组织中:
- 在左侧边栏中,单击“操作”,然后单击“运行器组” 。
-
如果使用的是企业级组:
- 在企业帐户边栏中,单击“ 策略”。 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".
将自托管的运行器移动到组
如果在注册过程中没有指定运行器组,新运行器会自动分配到默认组,然后可以移到另一个组。
-
导航到运行器注册的位置:
-
在组织中:导航到主页并单击“ 设置” 。
-
如果使用的是企业级运行器:
- 在 GitHub AE 的右上角,单击你的个人资料照片,然后单击“企业设置”。
- 在 GitHub AE 的右上角,单击你的个人资料照片,然后单击“企业设置”。
-
-
导航到 GitHub Actions 设置:
-
在组织中:
- 在左侧边栏中,单击“操作”,然后单击“运行器”。
-
如果使用的是企业级运行器:
- 在企业帐户边栏中,单击“ 策略”。 1. 在“ 策略”下,单击“操作”。 1. 单击“运行器”选项卡。
-
-
在“Runners(运行器)”列表中,单击您要配置的运行器。
-
选择“运行器组”下拉列表。
-
在“Move runner to group(将运行器移动到组)”中,选择运行器的目的地组。
删除自托管运行器组
运行器在其组被移除时将自动返回到默认组。
-
导航到运行器组所在的位置:
-
在组织中:
- 导航到主页并单击 “设置”。
-
如果使用的是企业级组:
- 在 GitHub AE 的右上角,单击你的个人资料照片,然后单击“企业设置”。
- 在 GitHub AE 的右上角,单击你的个人资料照片,然后单击“企业设置”。
-
-
导航到“运行器组”设置:
-
在组织中:
- 在左侧边栏中,单击“操作”,然后单击“运行器组” 。
-
如果使用的是企业级组:
- 在企业帐户边栏中,单击“ 策略”。 1. 在“ 策略”下,单击“操作”。 1. 单击“运行器组”选项卡。
-
-
在组列表中,在要删除的组右侧,单击 。
-
若要删除组,请单击“删除组”。
-
查看确认提示,然后单击“删除此运行器组”。 此组中的任何运行器都会自动移动到默认组,在该组中它们会继承分配给该组的访问权限。