Skip to main content

Managing access to self-hosted runners using groups

You can use policies to limit access to self-hosted runners that have been added to an organization or enterprise.

About runner groups

运行器组用于控制对组织和企业级运行器的访问。 企业所有者可以配置访问策略,用于控制企业中哪些组织可以访问运行器组。 组织所有者可以配置访问策略,用于控制组织中哪些存储库可以访问运行器组。

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

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

Creating a self-hosted runner group for an organization

All organizations have a single default runner group. Organizations within an enterprise account can create additional groups. Organization admins can allow individual repositories access to a runner group. For information about how to create a runner group with the REST API, see "Self-hosted runner groups."

Runners are automatically assigned to the default group when created, and can only be members of one group at a time. You can move a runner from the default group to any group you create.

When creating a group, you must choose a policy that defines which repositories have access to the runner group.

  1. On your enterprise, navigate to the main page of the organization.

  2. 在组织名称下,单击“设置”。 组织设置按钮

  3. In the left sidebar, click Actions.

  4. In the left sidebar, under "Actions", click Runner groups.

  5. In the "Runner groups" section, click New runner group.

  6. Enter a name for your runner group.

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

    您可以将运行器组配置为可供特定的存储库列表或组织中的所有存储库访问。

  8. Click Create group to create the group and apply the policy.

Creating a self-hosted runner group for an enterprise

Enterprises can add their runners to groups for access management. Enterprises can create groups of runners that are accessible to specific organizations in the enterprise account. Organization owners can then assign additional granular repository access policies to the enterprise runner groups. For information about how to create a runner group with the REST API, see the enterprise endpoints in the GitHub Actions REST API.

Runners are automatically assigned to the default group when created, and can only be members of one group at a time. You can assign the runner to a specific group during the registration process, or you can later move the runner from the default group to a custom group.

When creating a group, you must choose a policy that defines which organizations have access to the runner group.

  1. 在 GitHub AE 的右上角,单击你的个人资料照片,然后单击“企业设置”。 GitHub AE 上个人资料照片下拉菜单中的“企业设置”

  2. 在企业边栏中,单击 “策略”。 企业帐户边栏中的“策略”选项卡

  3. 在“ 策略”下,单击“操作”。

  4. 单击“运行器组”选项卡。

  5. Click New runner group.

  6. Under "Group name", type a name for your runner group.

  7. To choose a policy for organization access, select the Organization access drop-down, and click a policy. You can configure a runner group to be accessible to a specific list of organizations, or all organizations in the enterprise.

    Add runner group options

  8. Click Save group to create the group and apply the policy.

Changing the access policy of a self-hosted runner group

For runner groups in an enterprise, you can change what organizations in the enterprise can access a runner group. For runner groups in an organization, you can change what repositories in the organization can access a runner group.

Changing what organizations or repositories can access a runner group

  1. Navigate to where your runner groups are located:

    • In an organization: navigate to the main page and click Settings.

    • If using an enterprise-level group:

      1. 在 GitHub AE 的右上角,单击你的个人资料照片,然后单击“企业设置”。 GitHub AE 上个人资料照片下拉菜单中的“企业设置”
  2. Navigate to the "Runner groups" settings:

    • In an organization:

      1. In the left sidebar, click Actions.
      2. In the left sidebar, under "Actions", click Runner groups.
    • If using an enterprise-level group:

      1. 在企业边栏中,单击 “策略”。 企业帐户边栏中的“策略”选项卡
      2. 在“ 策略”下,单击“操作”。
      3. 单击“运行器组”选项卡。
  3. 在组列表中,单击要配置的运行器组。

  4. For runner groups in an enterprise, under Organization access, modify what organizations can access the runner group. For runner groups in an organization, under Repository access, modify what repositories can access the runner group.

Changing the name of a runner group

  1. Navigate to where your runner groups are located:

    • In an organization: navigate to the main page and click Settings.

    • If using an enterprise-level group:

      1. 在 GitHub AE 的右上角,单击你的个人资料照片,然后单击“企业设置”。 GitHub AE 上个人资料照片下拉菜单中的“企业设置”
  2. Navigate to the "Runner groups" settings:

    • In an organization:

      1. In the left sidebar, click Actions.
      2. In the left sidebar, under "Actions", click Runner groups.
    • If using an enterprise-level group:

      1. 在企业边栏中,单击 “策略”。 企业帐户边栏中的“策略”选项卡
      2. 在“ 策略”下,单击“操作”。
      3. 单击“运行器组”选项卡。
  3. 在组列表中,单击要配置的运行器组。

  4. Change the runner group name.

Automatically adding a self-hosted runner to a group

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

Moving a self-hosted runner to a group

If you don't specify a runner group during the registration process, your new runners are automatically assigned to the default group, and can then be moved to another group.

  1. 导航到自托管运行器注册的位置:

    • 在组织中:导航到主页并单击“ 设置” 。

    • 如果使用的是企业级运行器:

      1. 在 GitHub AE 的右上角,单击你的个人资料照片,然后单击“企业设置”。 GitHub AE 上个人资料照片下拉菜单中的“企业设置”
  2. 导航到 GitHub Actions 设置:

    • 在组织中:

      1. In the left sidebar, click Actions.
      2. In the left sidebar, under "Actions", click Runners.
    • 如果使用的是企业级运行器:

      1. 在企业边栏中,单击 “策略”。 企业帐户边栏中的“策略”选项卡 1. 在“ 策略”下,单击“操作”。 1. 单击“运行器”选项卡。
  3. In the "Runners" list, click the runner that you want to configure.

  4. Select the Runner group drop-down.

  5. In "Move runner to group", choose a destination group for the runner.

Removing a self-hosted runner group

运行器在其组被移除时将自动返回到默认组。

  1. Navigate to where your runner groups are located:

    • In an organization: navigate to the main page and click Settings.

    • If using an enterprise-level group:

      1. 在 GitHub AE 的右上角,单击你的个人资料照片,然后单击“企业设置”。 GitHub AE 上个人资料照片下拉菜单中的“企业设置”
  2. Navigate to the "Runner groups" settings:

    • In an organization:

      1. In the left sidebar, click Actions.
      2. In the left sidebar, under "Actions", click Runner groups.
    • If using an enterprise-level group:

      1. 在企业边栏中,单击 “策略”。 企业帐户边栏中的“策略”选项卡
      2. 在“ 策略”下,单击“操作”。
      3. 单击“运行器组”选项卡。
  3. 在组列表中,在要删除的组右侧,单击

  4. 若要删除组,请单击“删除组”。

  5. 查看确认提示,然后单击“删除此运行器组”。 此组中的任何运行器都会自动移动到默认组,在该组中它们会继承分配给该组的访问权限。