跳至主要内容

使用组管理对自托管运行器的访问权限

您可以使用策略来限制对已添加到组织的自托管运行器的访问权限。

谁可以使用此功能?

企业帐户、企业帐户拥有的组织以及使用 GitHub Team 或 GitHub Free 计划的组织可以创建和管理使用自托管运行器的其他运行器组。

关于运行器组

要控制组织级对运行器的访问权限,使用 GitHub Team 计划的组织可以使用运行器组。运行器组用于收集运行器集并在其周围创建安全边界。

当您授予运行器组访问权限时,您可以在组织的运行器设置中看到该运行器组的列表。或者,您可以为运行器组分配其他细粒度的存储库访问策略。

创建新的运行器时,除非另有指定,否则它们会自动分配到默认组。运行器一次只能属于一个组。您可以将运行器从一个运行器组移动到另一个运行器组。有关更多信息,请参阅“将运行器移动到组”。

有关如何将作业路由到特定组中的运行器的信息,请参阅“为作业选择运行器”。

为组织创建自托管运行器组

警告

我们建议您仅将自托管运行器与私有存储库一起使用。这是因为您的公共存储库的分支可以通过创建执行工作流中代码的拉取请求,从而有可能在您的自托管运行器机器上运行危险代码。

有关更多信息,请参阅“关于自托管运行器”。

注意

创建运行器组时,必须选择一个策略来定义哪些存储库可以访问该运行器组。要更改哪些存储库和工作流可以访问运行器组,组织所有者可以为组织设置策略。有关更多信息,请参阅“在您的企业中强制执行 GitHub Actions 的策略”。

所有组织都拥有一个默认的运行器组。使用 GitHub Team 计划的组织所有者可以创建其他组织级运行器组。

如果在注册过程中未指定组,则运行器会自动添加到默认组。您以后可以将运行器从默认组移动到自定义组。有关更多信息,请参阅“将运行器移动到组”。

有关如何使用 REST API 创建运行器组的信息,请参阅“GitHub Actions 的 REST API 端点”。

  1. 在 GitHub 上,导航到组织的主页。

  2. 在您的组织名称下,单击 设置。如果您看不到“设置”选项卡,请选择下拉菜单,然后单击设置

    Screenshot of the tabs in an organization's profile. The "Settings" tab is outlined in dark orange.

  3. 在左侧边栏中,单击 Actions,然后单击运行器组

  4. 在“运行器组”部分,单击新建运行器组

  5. 输入运行器组的名称。

  6. 分配存储库访问策略。

    您可以将运行器组配置为可供特定存储库列表访问,或可供组织中的所有存储库访问。默认情况下,只有私有存储库可以访问运行器组中的运行器,但您可以覆盖此设置。如果配置由企业共享的组织的运行器组,则无法覆盖此设置。

  7. 单击创建组以创建组并应用策略。

更改哪些存储库可以访问运行器组

警告

我们建议您仅将自托管运行器与私有存储库一起使用。这是因为您的公共存储库的分支可以通过创建执行工作流中代码的拉取请求,从而有可能在您的自托管运行器机器上运行危险代码。

有关更多信息,请参阅“关于自托管运行器”。

对于组织中的运行器组,您可以更改组织中的哪些存储库可以访问该运行器组。

  1. 导航到包含您的运行器组的组织的主页。

  2. 单击 设置.

  3. 在左侧边栏中,单击 Actions,然后单击运行器组

  4. 在组列表中,单击您要配置的运行器组。

  5. 在“存储库访问”下,使用下拉菜单单击选定的存储库

    1. 在下拉菜单的右侧,单击.
    2. 在弹出窗口中,使用复选框选择可以访问此运行器组的存储库。
  6. 单击保存组

更改运行器组的名称

  1. 导航到包含您的运行器组的组织的主页。
  2. 单击 设置.
  3. 在左侧边栏中,单击 Actions,然后单击运行器组
  4. 在组列表中,单击您要配置的运行器组。
  5. 在“组名称”下的文本字段中输入新的运行器组名称。
  6. 单击保存

自动将自托管运行器添加到组

您可以使用配置脚本将新运行器自动添加到组。例如,此命令注册一个新运行器并使用--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".

将自托管运行器移动到组

如果您在注册过程中未指定运行器组,则您的新运行器将自动分配到默认组,然后可以将其移动到另一个组。

  1. 在 GitHub 上,导航到组织的主页。

  2. 在您的组织名称下,单击 设置。如果您看不到“设置”选项卡,请选择下拉菜单,然后单击设置

    Screenshot of the tabs in an organization's profile. The "Settings" tab is outlined in dark orange.

  3. 在左侧边栏中,单击 Actions,然后单击Runners

  4. 在“Runners”列表中,单击您要配置的运行器。

  5. 选择Runner group下拉菜单。

  6. 在“将运行器移动到组”中,为运行器选择目标组。

删除自托管运行器组

为了删除运行器组,您必须首先将所有运行器从该组移动或删除。

  1. 导航到包含您的运行器组的组织的主页。
  2. 单击 设置.
  3. 在左侧边栏中,单击 Actions,然后单击运行器组
  4. 在组列表中,在您要删除的组的右侧,单击.
  5. 要删除该组,请单击删除组
  6. 查看确认提示,然后单击删除此运行器组