# 在较大的运行器上运行作业

识别可用的 大型运行器，然后使用运行器组和工作流标签将作业路由到正确的运行器。

## 标识存储库的可用运行程序

如果对存储库具有 `repo: write` 访问权限，则可以查看存储库可用的运行器列表。

1. 在 GitHub 上，导航到存储库的主页面。
2. 在仓库名称下，单击“<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-play" aria-label="play" role="img"><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path></svg> Actions”\*\*\*\*。

   ![“github/docs”存储库的选项卡的屏幕截图。 “操作”选项卡以橙色边框突出显示。](/assets/images/help/repository/actions-tab-global-nav-update.png)
3. 在左边栏中的“Management”部分下，单击 <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-server" aria-label="server" role="img"><path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v4c0 .372-.116.717-.314 1 .198.283.314.628.314 1v4a1.75 1.75 0 0 1-1.75 1.75H1.75A1.75 1.75 0 0 1 0 12.75v-4c0-.358.109-.707.314-1a1.739 1.739 0 0 1-.314-1v-4C0 1.784.784 1 1.75 1ZM1.5 2.75v4c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Zm.25 5.75a.25.25 0 0 0-.25.25v4c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25ZM7 4.75A.75.75 0 0 1 7.75 4h4.5a.75.75 0 0 1 0 1.5h-4.5A.75.75 0 0 1 7 4.75ZM7.75 10h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5ZM3 4.75A.75.75 0 0 1 3.75 4h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 4.75ZM3.75 10h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5Z"></path></svg>“Runners”\*\*\*\*。
4. 查看存储库可用的运行器列表。
5. （可选）要复制运行器标签以在工作流中使用，请单击运行器右侧的 <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-kebab-horizontal" aria-label="More options" role="img"><path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path></svg>，然后单击“复制标签”。\*\*\*\*

> \[!NOTE]
> 企业和组织所有者可以在此页面创建运行器。 若要创建新的运行器，请单击运行器列表右上角的“新建运行器”\*\*\*\*，将运行器添加到存储库。
>
> 有关详细信息，请参阅 [管理较大的运行器](/zh/actions/how-tos/manage-runners/larger-runners/manage-larger-runners) 和 [添加自托管的运行器](/zh/actions/how-tos/manage-runners/self-hosted-runners/add-runners)。

## 在工作流中定位大型运行器

在确定要使用的 大型运行器 后，您可以在工作流中使用运行器组、工作流标签或两者来指定它们。 使用运行程序组将作业路由到一组运行程序、将工作流标签定向到具有特定标签的运行程序，或者在作业必须与这两个条件匹配时同时将作业路由到两者。

如果管理员禁用了标准的 GitHub 托管运行器，则只能使用运行器组。

### 按运行程序组设定目标

在工作流中引用运行器组名称。 如果您希望将作业分配给特定组中的任意可用运行器，请使用此项。

<div class="ghd-tool linux">

在此示例中，运行器已添加到名为 `build-runners` 的组。
`runs-on` 键将作业发送到 `build-runners` 组中的任何可用运行器：

```yaml
name: learn-github-actions
on: [push]
jobs:
  check-bats-version:
    runs-on: 
      group: build-runners
    steps:
      - uses: actions/checkout@v6
      - uses: actions/setup-node@v7
        with:
          node-version: '14'
      - run: npm install -g bats
      - run: bats -v
```

</div>

<div class="ghd-tool windows">

在此示例中，运行器已添加到名为 `build-runners` 的组。
`runs-on` 键将作业发送到 `build-runners` 组中的任何可用运行器：

```yaml
name: learn-github-actions
on: [push]
jobs:
  check-bats-version:
    runs-on: 
      group: build-runners
    steps:
      - uses: actions/checkout@v6
      - uses: actions/setup-node@v7
        with:
          node-version: '14'
      - run: npm install -g bats
      - run: bats -v
```

</div>

<div class="ghd-tool mac">

在此示例中，`runs-on` 键会将作业发送到 `macos-build-runners` 组中的任意可用运行器：

```yaml
name: learn-github-actions
on: [push]
jobs:
  check-swift-version:
    runs-on:
      group: macos-build-runners
    steps:
      - uses: actions/checkout@v6
      - name: Build
        run: swift build
      - name: Run tests
        run: swift test
```

</div>

### 按工作流标签定位

如果要将作业路由到共享特定标签的运行程序，请在工作流中引用工作流标签。

大型运行器会被自动分配一个与运行器名称匹配的工作流标签。

<div class="ghd-tool linux">

在此示例中， `runs-on` 密钥将作业发送给已分配 `ubuntu-24.04-16core` 标签的任何可用运行器：

```yaml
name: learn-github-actions
on: [push]
jobs:
  check-bats-version:
    runs-on:
      labels: ubuntu-24.04-16core
    steps:
      - uses: actions/checkout@v6
      - uses: actions/setup-node@v7
        with:
          node-version: '14'
      - run: npm install -g bats
      - run: bats -v
```

</div>

<div class="ghd-tool windows">

在此示例中， `runs-on` 密钥将作业发送给已分配 `windows-2022-16core` 标签的任何可用运行器：

```yaml
name: learn-github-actions
on: [push]
jobs:
  check-bats-version:
    runs-on:
      labels: windows-2022-16core
    steps:
      - uses: actions/checkout@v6
      - uses: actions/setup-node@v7
        with:
          node-version: '14'
      - run: npm install -g bats
      - run: bats -v
```

</div>

<div class="ghd-tool mac">

对于 macOS 大型运行器，你可以使用以下任一工作流标签：由 GitHub 定义的工作流标签，或在创建时根据你为 大型运行器 设置的名称自动分配的工作流标签。 有关可用 macOS 工作流标签的列表，请参阅 [大型运行程序参考](/zh/actions/reference/runners/larger-runners#available-macos-larger-runners-and-labels)。

在此示例中， `runs-on` 密钥将作业发送到已分配 `macos-26-xlarge` 标签的任何可用运行程序。

```yaml
name: learn-github-actions
on: [push]
jobs:
  check-swift-version:
    runs-on: macos-26-xlarge
    steps:
      - uses: actions/checkout@v6
      - name: Build
        run: swift build
      - name: Run tests
        run: swift test
```

</div>

### 使用组和组来控制作业的运行位置

当作业必须仅在属于特定组且具有特定标签的运行器上运行时，请同时使用标签和组。 运行器必须同时满足这两项要求，才有资格运行该作业。

<div class="ghd-tool linux">

组合组和标签时，运行器必须满足这两项要求才能运行作业。

在此示例中，`runs-on` 键结合了 `group` 和 `labels`，从而将该作业路由到组内任何具有匹配标签的可用运行器：

```yaml
name: learn-github-actions
on: [push]
jobs:
  check-bats-version:
    runs-on:
      group: ubuntu-runners
      labels: ubuntu-24.04-16core
    steps:
      - uses: actions/checkout@v6
      - uses: actions/setup-node@v7
        with:
          node-version: '14'
      - run: npm install -g bats
      - run: bats -v
```

</div>

<div class="ghd-tool windows">

组合组和标签时，运行器必须满足这两项要求才能运行作业。

在此示例中，`runs-on` 键结合了 `group` 和 `labels`，从而将该作业路由到组内任何具有匹配标签的可用运行器：

```yaml
name: learn-github-actions
on: [push]
jobs:
  check-bats-version:
    runs-on:
      group: ubuntu-runners
      labels: ubuntu-24.04-16core
    steps:
      - uses: actions/checkout@v6
      - uses: actions/setup-node@v7
        with:
          node-version: '14'
      - run: npm install -g bats
      - run: bats -v
```

</div>

<div class="ghd-tool mac">

在此示例中，`runs-on` 键结合了 `group` 和 `labels`，从而将该作业路由到组内任何具有匹配标签的可用运行器：

```yaml
name: learn-github-actions
on: [push]
jobs:
  check-swift-version:
    runs-on:
      group: macos-runners
      labels: macos-26-xlarge
    steps:
      - uses: actions/checkout@v6
      - name: Build
        run: swift build
      - name: Run tests
        run: swift test
```

</div>

## 延伸阅读

有关密钥的 `runs-on` 语法详细信息，请参阅 [GitHub Actions 的工作流语法](/zh/actions/reference/workflows-and-actions/workflow-syntax#jobsjob_idruns-on)。

有关规范、标签、限制和故障排除信息，请参阅 [大型运行程序参考](/zh/actions/reference/runners/larger-runners)。