Skip to main content

Running jobs on larger runners

You can speed up your workflows by configuring them to run on крупное средство выполненияs.

Кто может использовать эту функцию?

Более крупный бегунs доступны только для организаций и предприятий с помощью планов GitHub Team или GitHub Enterprise Cloud.

Platform navigation

Running jobs on your runner

После определения типа runner вы можете обновить файлы YAML рабочего процесса, чтобы отправить задания только что созданным экземплярам runner для обработки. Группы или метки запуска можно использовать для определения места выполнения заданий.

Примечание.

Более крупный бегунs автоматически назначается метка по умолчанию, соответствующая имени средства выполнения. Пользовательские метки нельзя добавлять в крупное средство выполненияs, но можно использовать метки по умолчанию или группу runner для отправки заданий определенным типам runner.

Только учетные записи владельца или администратора могут просматривать параметры runner. Пользователи, не являющиеся администраторами, могут связаться с владелец организации, чтобы узнать, какие средства запуска включены. Владелец организации могут создавать новые группы запуска и группы runner, а также настраивать разрешения, чтобы указать, какие репозитории могут получить доступ к группе runner. Дополнительные сведения см. в разделе Managing larger runners.

После определения типа runner вы можете обновить файлы YAML рабочего процесса, чтобы отправить задания только что созданным экземплярам runner для обработки. Группы или метки запуска можно использовать для определения места выполнения заданий.

Примечание.

Более крупный бегунs автоматически назначается метка по умолчанию, соответствующая имени средства выполнения. Пользовательские метки нельзя добавлять в крупное средство выполненияs, но можно использовать метки по умолчанию или группу runner для отправки заданий определенным типам runner.

Только учетные записи владельца или администратора могут просматривать параметры runner. Пользователи, не являющиеся администраторами, могут связаться с владелец организации, чтобы узнать, какие средства запуска включены. Владелец организации могут создавать новые группы запуска и группы runner, а также настраивать разрешения, чтобы указать, какие репозитории могут получить доступ к группе runner. Дополнительные сведения см. в разделе Managing larger runners.

Once your runner type has been defined, you can update your workflow YAML files to send jobs to runner instances for processing. To run jobs on macOS крупное средство выполненияs, update the runs-on key in your workflow YAML files to use one of the GitHub-defined labels for macOS runners. For more information, see Available macOS крупное средство выполненияs.

Available macOS крупное средство выполненияs

Use the labels in the table below to run your workflows on the corresponding macOS крупное средство выполнения.

Размер runnerАрхитектураПроцессор (ЦП)Память (ОЗУ)Хранилище (SSD)Метка рабочего процесса
БольшойIntel1230 ГБ14 ГБmacos-latest-large, macos-13-largemacos-14-large [последняя], macos-15-large [Public preview]
Очень большаяarm64 (M1)6 (+ 8 аппаратное ускорение GPU)14 ГБ14 ГБmacos-latest-xlarge, macos-13-xlarge macos-14-xlarge [последняя], macos-15-xlarge [Public preview]

Примечание.

For macOS крупное средство выполненияs, the -latest runner label uses the macOS 12 runner image. For macOS Xlarge, the -latest runner label uses the macOS 13 runner image

Viewing available runners for a repository

Если у вас есть repo: write доступ к репозиторию, вы можете просмотреть список средств выполнения, доступных в репозитории.

  1. На GitHubперейдите на главную страницу репозитория.

  2. Под именем репозитория щелкните Actions.

    Снимок экрана: вкладки для репозитория github/docs. Вкладка "Действия" выделена оранжевым контуром.

  3. В левой боковой панели в разделе "Управление" щелкните Runners.

  4. Review the list of available runners for the repository.

  5. При необходимости, чтобы скопировать метку бегуна, чтобы использовать ее в рабочем процессе, щелкните справа от средства выполнения, а затем нажмите кнопку "Копировать метку".

Примечание.

Корпоративные и владелец организации могут создавать средства выполнения на этой странице. Чтобы создать нового бегуна, нажмите кнопку Создать runner в правом верхнем углу списка бегунов, чтобы добавить в репозиторий средства выполнения.

Дополнительные сведения см. в разделе [AUTOTITLE и Managing larger runners](/actions/hosting-your-own-runners/managing-self-hosted-runners/adding-self-hosted-runners).

Using groups to control where jobs are run

В этом примере средства запуска Ubuntu добавлены в группу с именем ubuntu-runners. Ключ runs-on отправляет задание любому доступному ubuntu-runners средству выполнения в группе:

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

Using groups to control where jobs are run

В этом примере средства запуска Ubuntu добавлены в группу с именем ubuntu-runners. Ключ runs-on отправляет задание любому доступному ubuntu-runners средству выполнения в группе:

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

Using labels to control where jobs are run

Вы можете неявно передать метку runs-on в ключ с помощью синтаксиса runs-on: LABEL. Кроме того, можно использовать labels ключ, как показано в приведенном ниже примере.

In this example, the runs-on key sends the job to any available runner that has been assigned the ubuntu-20.04-16core label:

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

Любой пользователь с доступом на запись в репозиторий с поддержкой actions может узнать метки для выполняющихся, доступных в этом репозитории. См . раздел AUTOTITLE.

Using labels to control where jobs are run

Вы можете неявно передать метку runs-on в ключ с помощью синтаксиса runs-on: LABEL. Кроме того, можно использовать labels ключ, как показано в приведенном ниже примере.

In this example, the runs-on key sends the job to any available runner that has been assigned the windows-2022-16core label:

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

Любой пользователь с доступом на запись в репозиторий с поддержкой actions может узнать метки для выполняющихся, доступных в этом репозитории. См . раздел AUTOTITLE.

Targeting macOS крупное средство выполненияs in a workflow

To run your workflows on macOS крупное средство выполненияs, set the value of the runs-on key to a label associated with a macOS крупное средство выполнения. For a list of macOS крупное средство выполнения labels, see Available macOS крупное средство выполненияs.

In this example, the workflow uses a label that is associated with macOS XL runners. The runs-on key sends the job to any available runner with a matching label:

name: learn-github-actions-testing
on: [push]
jobs:
  build:
    runs-on: macos-13-xlarge
    steps:
      - uses: actions/checkout@v4
      - name: Build
        run: swift build
      - name: Run tests
        run: swift test

Using labels and groups to control where jobs are run

При сочетании групп и меток средство выполнения должно соответствовать обоим требованиям, чтобы иметь право на выполнение задания.

В этом примере вызываемая ubuntu-runners группа runner заполняется средствами запуска Ubuntu, которые также были назначены меткой ubuntu-20.04-16core. Ключ runs-on объединяется group и labels таким образом, чтобы задание перенаправлялось на любой доступный runner в группе, которая также имеет соответствующую метку:

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

Использование уникальных имен для групп runner

Для GitHub Actions требуется, чтобы имена групп runner были уникальными на уровне организации. Это означает, что организация больше не сможет создать группу бегунов с тем же именем, что и в организации. Кроме того, пользователи увидят предупреждающий баннер на всех группах runner, которые используют то же имя, что и группа в организации, предлагая переименовать группу организации.

Чтобы избежать неоднозначности, рабочий процесс завершится ошибкой, если в организации и организации имеются повторяющиеся группы runner. Чтобы устранить эту проблему, можно переименовать одну из групп бегунов в организации или предприятия или обновить файл рабочего процесса, чтобы добавить префикс в имя группы runner:

  • org/ или organization/
  • ent/ или enterprise/

Пример. Использование префиксов для отличия групп runner

Например, если у вас есть группа runner с именем my-group в организации и другая с именем my-group в организации, вы можете обновить файл рабочего процесса, чтобы использовать org/my-group или ent/my-group различать их.

Использование среды org/:

runs-on:
  group: org/my-group
  labels: [ self-hosted, label-1 ]

Использование среды ent/:

runs-on:
  group: ent/my-group
  labels: [ self-hosted, label-1 ]

Using labels and groups to control where jobs are run

При сочетании групп и меток средство выполнения должно соответствовать обоим требованиям, чтобы иметь право на выполнение задания.

В этом примере вызываемая ubuntu-runners группа runner заполняется средствами запуска Ubuntu, которые также были назначены меткой ubuntu-20.04-16core. Ключ runs-on объединяется group и labels таким образом, чтобы задание перенаправлялось на любой доступный runner в группе, которая также имеет соответствующую метку:

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

Использование уникальных имен для групп runner

Для GitHub Actions требуется, чтобы имена групп runner были уникальными на уровне организации. Это означает, что организация больше не сможет создать группу бегунов с тем же именем, что и в организации. Кроме того, пользователи увидят предупреждающий баннер на всех группах runner, которые используют то же имя, что и группа в организации, предлагая переименовать группу организации.

Чтобы избежать неоднозначности, рабочий процесс завершится ошибкой, если в организации и организации имеются повторяющиеся группы runner. Чтобы устранить эту проблему, можно переименовать одну из групп бегунов в организации или предприятия или обновить файл рабочего процесса, чтобы добавить префикс в имя группы runner:

  • org/ или organization/
  • ent/ или enterprise/

Пример. Использование префиксов для отличия групп runner

Например, если у вас есть группа runner с именем my-group в организации и другая с именем my-group в организации, вы можете обновить файл рабочего процесса, чтобы использовать org/my-group или ent/my-group различать их.

Использование среды org/:

runs-on:
  group: org/my-group
  labels: [ self-hosted, label-1 ]

Использование среды ent/:

runs-on:
  group: ent/my-group
  labels: [ self-hosted, label-1 ]

Troubleshooting крупное средство выполненияs

Если вы заметили, что задания, предназначенные для ваших крупное средство выполненияs, задерживаются или не выполняются, существует несколько факторов, которые могут привести к этому.

  • Параметры параллелизма: возможно, достигнуто максимальное ограничение параллелизма. Если вы хотите включить параллельное выполнение дополнительных заданий, можно обновить параметры автомасштабирования до большего числа. Дополнительные сведения см. в разделе Managing larger runners.
  • Разрешения репозитория. Убедитесь, что для ваших крупное средство выполненияs включены соответствующие разрешения репозитория. По умолчанию средства выполнения предприятия недоступны на уровне репозитория и должны быть включены администратором организации вручную. Дополнительные сведения см. в разделе Managing larger runners.
  • Сведения о выставлении счетов: для использования крупное средство выполненияs должна быть допустимая кредитная карта. После добавления кредитной карты в учетную запись может потребоваться до 10 минут, чтобы включить использование данных крупное средство выполненияs. Дополнительные сведения см. в разделе Управление сведениями об оплате и выставлении счетов.
  • Ограничение расходов: для ваших GitHub Actions необходимо задать значение больше нуля. Дополнительные сведения см. в разделе Использование бюджетов для контроля расходов на лимитные продукты.
  • Политика справедливого использования: GitHub имеет политику справедливого использования, которая начинает регулировать задания на основе нескольких факторов, таких как количество выполняемых заданий или сколько заданий выполняется в целом GitHub Actions.
  • Очередь заданий для назначения времени: очередь заданий для назначения времени ссылается на время между запросом задания и GitHub, назначая виртуальную машину для выполнения задания. Стандартные GitHubразмещенные в среде runner, использующие назначенные метки рабочих процессов YAML (например ubuntu-latest, всегда находятся в состоянии "тепло". С большими бегунами теплый компьютер может не быть готов к выбору задания по первому запросу, так как пулы для этих компьютеров меньше. В результате GitHub может потребоваться создать новую виртуальную машину, которая увеличивает очередь для назначения времени. После использования средства выполнения виртуальные машины легко выполняются для последующих запусков рабочего процесса, уменьшая время назначения очереди для будущего рабочего процесса в течение следующих 24 часов.

Если вы заметили, что задания, предназначенные для ваших крупное средство выполненияs, задерживаются или не выполняются, существует несколько факторов, которые могут привести к этому.

  • Параметры параллелизма: возможно, достигнуто максимальное ограничение параллелизма. Если вы хотите включить параллельное выполнение дополнительных заданий, можно обновить параметры автомасштабирования до большего числа. Дополнительные сведения см. в разделе Managing larger runners.
  • Разрешения репозитория. Убедитесь, что для ваших крупное средство выполненияs включены соответствующие разрешения репозитория. По умолчанию средства выполнения предприятия недоступны на уровне репозитория и должны быть включены администратором организации вручную. Дополнительные сведения см. в разделе Managing larger runners.
  • Сведения о выставлении счетов: для использования крупное средство выполненияs должна быть допустимая кредитная карта. После добавления кредитной карты в учетную запись может потребоваться до 10 минут, чтобы включить использование данных крупное средство выполненияs. Дополнительные сведения см. в разделе Управление сведениями об оплате и выставлении счетов.
  • Ограничение расходов: для ваших GitHub Actions необходимо задать значение больше нуля. Дополнительные сведения см. в разделе Использование бюджетов для контроля расходов на лимитные продукты.
  • Политика справедливого использования: GitHub имеет политику справедливого использования, которая начинает регулировать задания на основе нескольких факторов, таких как количество выполняемых заданий или сколько заданий выполняется в целом GitHub Actions.
  • Очередь заданий для назначения времени: очередь заданий для назначения времени ссылается на время между запросом задания и GitHub, назначая виртуальную машину для выполнения задания. Стандартные GitHubразмещенные в среде runner, использующие назначенные метки рабочих процессов YAML (например ubuntu-latest, всегда находятся в состоянии "тепло". С большими бегунами теплый компьютер может не быть готов к выбору задания по первому запросу, так как пулы для этих компьютеров меньше. В результате GitHub может потребоваться создать новую виртуальную машину, которая увеличивает очередь для назначения времени. После использования средства выполнения виртуальные машины легко выполняются для последующих запусков рабочего процесса, уменьшая время назначения очереди для будущего рабочего процесса в течение следующих 24 часов.

Because macOS arm64 does not support Node 12, macOS крупное средство выполненияs automatically use Node 16 to execute any JavaScript action written for Node 12. Some community actions may not be compatible with Node 16. If you use an action that requires a different Node version, you may need to manually install a specific version at runtime.

Примечание.

ARM-powered runners are currently in public preview and are subject to change.