Skip to main content
Мы публикуем частые обновления нашей документации, и перевод этой страницы может все еще выполняться. Актуальные сведения см. в документации на английском языке.

Выбор средства выполнения тестов для задания

Определите тип компьютера, который будет обрабатывать задание в рабочем процессе.

Обзор

Используйте jobs.<job_id>.runs-on для определения типа компьютера, на котором будет запускаться задание.

— конечным компьютером может быть размещенное в GitHubсредство выполнения, Более крупное средство выполнения или локальное средство выполнения. — вы можете нацеливать средства выполнения на основе назначенных им меток, их членства в группах или их сочетания.

  • Можно указать runs-on в виде одной строки или массива строк.
  • Если указать массив строк, рабочий процесс будет выполняться в любом средстве выполнения, которое соответствует всем указанным runs-on значениям.
  • Если необходимо запустить рабочий процесс на нескольких компьютерах, используйте jobs.<job_id>.strategy.

Выбор средства выполнения тестов, размещенного на GitHub

При использовании средства выполнения тестов, размещенного на GitHub, каждое задание выполняется в новом экземпляре образа средства выполнения тестов, заданной параметром runs-on.

Доступны следующие типы средств выполнения тестов, размещенных на GitHub:

Образ средства выполнения тестов Метка рабочего процесса YAML Примечания
Windows Server 2022 windows-latest или windows-2022 В настоящее время метка windows-latest использует образ средства выполнения Windows Server 2022.
Windows Server 2019 windows-2019 Нет
Ubuntu 22.04 ubuntu-latest или ubuntu-22.04 В ubuntu-latest настоящее время метка использует образ средства выполнения ubuntu 22.04.
Ubuntu 20.04 ubuntu-20.04 Ни один
Ubuntu 18.04 [не рекомендуется] ubuntu-18.04 Миграция на ubuntu-20.04 или ubuntu-22.04. Дополнительные сведения см. в этой записи блога GitHub.
macOS Monterey 12 macos-latest, macos-12или macos-latest-xlmacos-12-xl Метки macos-latest рабочего процесса и macos-latest-xl в настоящее время используют образ средства выполнения тестов macOS 12.
macOS Big Sur 11 macos-11 Нет
macOS Catalina 10.15 [нерекомендуемая] macos-10.15 Миграция на macOS-11 или macOS-12. Дополнительные сведения см. в этой записи блога GitHub.

Примечание. Образы средства выполнения тестов -latest — это последние стабильные образы, предоставляемые GitHub, и они могут не быть самой последней версией операционной системы, доступной от производителя операционной системы.

Предупреждение: Бета-версии и нерекомендуемые образы предоставляются "как есть", "со всеми ошибками" и "по мере доступности" и исключаются из соглашения об уровне обслуживания и гарантии. Для образов бета-версий может не оказываться поддержка.

Пример: указание операционной системы

runs-on: ubuntu-latest

Дополнительные сведения см. в разделе О средствах выполнения, размещенных в GitHub.

Выбор локальных средств выполнения тестов

Чтобы указать локальное средство выполнения тестов для задания, настройте runs-on в файле рабочего процесса, используя метки локального средства выполнения тестов.

Все локальные средства выполнения тестов имеют метку self-hosted. При использовании только этой метки будет выбрано любое локальное средство выполнения тестов. Чтобы выбрать средства выполнения тестов, которые соответствуют определенным критериям, таким как конкретная операционная система или архитектура, рекомендуется предоставить массив меток, начинающихся с self-hosted (сначала это должно быть указано), а затем включить дополнительные метки по мере необходимости. При указании массива меток задания будут помещены в очередь в средства выполнения тестов, которые имеют все указанные метки.

Несмотря на то что метка self-hosted не является обязательной, настоятельно рекомендуется указать ее при использовании локальных средств выполнения тестов, чтобы убедиться, что задание не указывает случайно текущие или будущие данные средства выполнения тестов, размещенные в GitHub.

Пример: использование меток для выбора средства выполнения тестов

runs-on: [self-hosted, linux]

Дополнительные сведения см. в разделах О самостоятельно размещенных средствах выполнения и Использование локальных средств выполнения в рабочем процессе.

Выбор средств выполнения в группе

Вы можете использовать для runs-on целевых групп средств выполнения, чтобы задание выполнялось в любом средстве выполнения, которое входит в эту группу. Для более детального управления можно также объединить группы средств выполнения с метками.

В группах средств выполнения могут быть только Более крупное средство выполненияs или локальные средства выполнения тестов .

Пример. Использование групп для управления тем, где выполняются задания

В этом примере средства выполнения 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@v3
      - uses: actions/setup-node@v3
        with:
          node-version: '14'
      - run: npm install -g bats
      - run: bats -v

Пример. Объединение групп и меток

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

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

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