Skip to main content

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

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

谁可以使用此功能?

Enterprise accounts, organizations owned by enterprise accounts, and organizations using GitHub Team or GitHub Free plans can create and manage additional runner groups using self-hosted runners.

关于运行器组

要在组织级别,使用 GitHub Team 计划的组织可以使用运行器组。运行器组用于收集运行器集,并围绕它们创建安全边界。

授予对运行器组的访问权限时,可以看到组织的运行器设置中列出的运行器组。 或者,你可以为运行器组分配更精细的存储库访问策略。

在创建新运行器时,除非另有指定,否则它们将自动分配给默认组。 运行器每次只能在一个组中。 可以将运行器从一个运行器组移动到另一个运行器组。 有关详细信息,请参阅“将运行器移动到组”。

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

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

Warning

建议仅将自托管运行器用于私有仓库。 这是因为,通过创建在工作流中执行代码的拉取请求,公共存储库的分支可能会在自托管运行器计算机上运行危险代码。

有关详细信息,请参阅“关于自托管运行程序”。

Note

创建运行器组时,你必须选择一个策略,用于定义哪些存储库有权访问运行器组。 若要更改哪些存储库和工作流可以访问运行器组,组织所有者可以为组织设置策略。 有关详细信息,请参阅“在企业中为 GitHub Actions 实施策略”。

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

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

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

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

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

    组织配置文件中选项卡的屏幕截图。 “设置”选项卡以深橙色标出。

  3. 在左侧边栏中,单击 “操作”,然后单击“运行器组” 。

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

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

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

    你可以将运行程序组配置为可供特定存储库列表或组织中的所有存储库访问。 默认情况下,只有专用存储库可以访问运行程序组中的运行程序,但你可以覆盖此设置。 如果配置企业共享的组织的运行组,则不能覆盖此设置。

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

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

Warning

建议仅将自托管运行器用于私有仓库。 这是因为,通过创建在工作流中执行代码的拉取请求,公共存储库的分支可能会在自托管运行器计算机上运行危险代码。

有关详细信息,请参阅“关于自托管运行程序”。

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

  1. 导航到运行器组所在的组织的主页。

  2. 单击“ Settings”****。

  3. 在左侧边栏中,单击 “操作”,然后单击“运行器组” 。

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

  5. 在“存储库访问”下,使用下拉菜单单击所选组织

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

更改运行器组的名称

  1. 导航到运行器组所在的组织的主页。
  2. 单击“ Settings”****。
  3. 在左侧边栏中,单击 “操作”,然后单击“运行器组” 。
  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. 在组织名称下,单击 “设置”****。 如果看不到“设置”选项卡,请选择“”下拉菜单,然后单击“设置”********。

    组织配置文件中选项卡的屏幕截图。 “设置”选项卡以深橙色标出。

  3. 在左侧边栏中,单击 “操作”,然后单击“运行器” 。

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

  5. 选择“运行器组”下拉列表。

  6. 在“Move runner to group(将运行器移动到组)”中,选择运行器的目的地组。

删除自托管运行器组

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

  1. 导航到运行器组所在的组织的主页。
  2. 单击“ Settings”****。
  3. 在左侧边栏中,单击 “操作”,然后单击“运行器组” 。
  4. 在组列表中,在要删除的组右侧,单击
  5. 若要删除组,请单击“删除组”。
  6. 查看确认提示,然后单击“删除此运行器组”。