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) | Метка рабочего процесса |
---|---|---|---|---|---|
Большой | Intel | 12 | 30 ГБ | 14 ГБ | macos-latest-large , macos-13-large macos-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
доступ к репозиторию, вы можете просмотреть список средств выполнения, доступных в репозитории.
-
На GitHubперейдите на главную страницу репозитория.
-
Под именем репозитория щелкните Actions.
-
В левой боковой панели в разделе "Управление" щелкните Runners.
-
Review the list of available runners for the repository.
-
При необходимости, чтобы скопировать метку бегуна, чтобы использовать ее в рабочем процессе, щелкните справа от средства выполнения, а затем нажмите кнопку "Копировать метку".
Примечание.
Корпоративные и владелец организации могут создавать средства выполнения на этой странице. Чтобы создать нового бегуна, нажмите кнопку Создать 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.