跳至主要内容

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

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

谁可以使用此功能?

企业帐户、企业帐户拥有的组织以及使用 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,然后单击运行器

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

  5. 选择运行器组下拉菜单。

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

删除自托管运行器组

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

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