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

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

GitHub предлагает более крупные средства выполнения с большим объемом ОЗУ и ЦП.

Возможность larger runner в настоящее время находится в бета-версии для организаций и предприятий, использующих планы GitHub Team или GitHub Enterprise Cloud, и может меняться. Чтобы запросить доступ к бета-версии, перейдите на страницу регистрации.

Общие сведения о larger runner

Помимо стандартных средств выполнения, размещенных на GitHub, GitHub также предлагает клиентам с планом GitHub Team и GitHub Enterprise Cloud ряд larger runner с большим объемом ОЗУ и ЦП. Эти средства выполнения размещаются в GitHub и для них уже предустановлено приложение и другие инструменты.

Если для вашей организации включены larger runners, автоматически создается группа средств выполнения по умолчанию с набором из четырех предварительно настроенных larger runners.

При добавлении larger runner в организацию вы определяете тип компьютера из набора доступных спецификаций оборудования и образов операционной системы. Затем GitHub создаст несколько экземпляров этого средства выполнения, которые будут увеличивать и уменьшать масштаб в соответствии с требованиями заданий вашей организации на основе заданных ограничений автомасштабирования.

Спецификации компьютера для larger runners

Размер (vcpu)Память (ГБ)Хранилище (SSD)
4 ядра16 ОЗУ150 ГБ
8 ядер32 ОЗУ300 ГБ
16 ядер64 ОЗУ600 ГБ
32 ядра128 ОЗУ1200 ГБ
64 ядра256 ОЗУ2040 ГБ

Общие сведения об архитектуре larger runner

larger runner управляются на уровне организации, где они упорядочены по группам, которые могут содержать несколько экземпляров средства выполнения. Их также можно создавать на уровне предприятия и совместно использовать с организациями в иерархии. После создания группы вы можете добавить в нее средство выполнения и обновить рабочие процессы, указав имя группы или метку, назначенную larger runner. Вы также можете контролировать, какие репозитории могут отправлять задания группе для обработки. Дополнительные сведения о группах см. в разделе Управление доступом к larger runner.

На следующей схеме был определен класс размещенного средства выполнения ubuntu-20.04-16core с настраиваемой конфигурацией оборудования и операционной системы.

Схема, объясняющая larger runner

  1. Экземпляры этого средства выполнения создаются автоматически и добавляются в группу с именем grp-ubuntu-20.04-16core.
  2. Средствам выполнения назначена метка ubuntu-20.04-16core.
  3. Задания рабочего процесса используют метку ubuntu-20.04-16core в ключе runs-on, чтобы указать тип средства выполнения, который им необходим для выполнения задания.
  4. GitHub Actions проверяет группу средств выполнения, чтобы узнать, разрешено ли репозиторию отправлять задания в средство выполнения.
  5. Задание выполняется на следующем доступном экземпляре средства выполнения ubuntu-20.04-16core.

Автомасштабирование о larger runner

Ваши larger runner можно настроить для автоматического масштабирования в соответствии с вашими потребностями. При отправке заданий для обработки больше компьютеров можно автоматически подготовить для выполнения заданий до достижения предварительно определенного максимального ограничения. Каждый компьютер обрабатывает только одно задание за раз, поэтому эти параметры эффективно определяют количество заданий, которые могут выполняться одновременно.

Во время развертывания средства выполнения можно настроить параметр Max, который позволяет управлять затратами, устанавливая максимальное параллельное количество компьютеров, создаваемых в этом наборе. Более высокое значение поможет помочь избежать блокировки рабочих процессов из-за параллелизма.

Создание сетей для larger runner

По умолчанию larger runner получают динамический IP-адрес, который изменяется для каждого запуска задания. При необходимости клиенты GitHub Enterprise Cloud могут настроить свои larger runner для получения статического IP-адреса из пула IP-адресов GitHub. Если этот параметр включен, экземпляры larger runner получат адрес из диапазона, уникального для средства выполнения, что позволяет использовать этот диапазон для настройки списка разрешений брандмауэра. Вы можете использовать до 10 диапазонов статических IP-адресов во всех larger runners.

Примечание. Если средства выполнения не используются в течение более 30 дней, их диапазоны IP-адресов автоматически удаляются и не могут быть восстановлены.

Планирование для larger runner

Создание группы средств выполнения

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

Общие сведения о выставлении счетов

Примечание. larger runners не используют включенные минуты прав и не являются бесплатными для общедоступных репозиториев.

По сравнению со стандартными средствами выполнения, размещенными на GitHub, плата за larger runner выставляется иначе. Дополнительные сведения см. в разделе Поминутные тарифы.

Добавление larger runner в предприятие

Вы можете добавить larger runners в предприятие, где их можно назначить нескольким организациям. Затем администраторы организации могут управлять тем, какие репозитории могут использовать средства выполнения. Чтобы добавить larger runner в предприятие, необходимо быть владельцем предприятия.

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

Вы также можете определить метки для средства выполнения, чтобы рабочие процессы могли отправлять задания в средства выполнения для обработки (с помощью runs-on). Новые средства выполнения автоматически назначаются группе по умолчанию, или вы можете выбрать, к какой группе должны присоединяться средства выполнения во время создания. Кроме того, после регистрации средства выполнения вы можете изменить его группу. Дополнительные сведения см. в разделе Управление доступом к larger runner.

  1. На боковой панели корпоративной учетной записи нажмите Политики . Вкладка "Политики" на боковой панели корпоративной учетной записи 1. В разделе «Политики » выберите Действия. 1. Перейдите на вкладку Средства выполнения тестов. 1. Щелкните Новое средство выполнения, а затем выберите New GitHub-hosted runner.

  2. Укажите необходимые сведения для настройки нового средства выполнения:

    • Имя. Введите имя нового средства выполнения. Для простоты оно должно указывать на конфигурацию оборудования и операционной системы, например ubuntu-20.04-16core.
    • Образ средства выполнения: выберите операционную систему из доступных вариантов. Выбрав операционную систему, вы сможете выбрать определенную версию.
    • Размер средства выполнения: выберите конфигурацию оборудования из раскрывающегося списка доступных параметров.
    • Автоматическое масштабирование: выберите максимальное количество средств выполнения, которые могут быть активны одновременно.
    • Группа средств выполнения: выберите группу, в которую будет входить средство выполнения. Эта группа будет включать несколько экземпляров средства выполнения, так как они масштабируются в соответствии с требованиями.
    • Сеть: только для GitHub Enterprise Cloud: укажите, будет ли назначен диапазон статических IP-адресов экземплярам larger runner. В общей сложности можно использовать до 10 статических IP-адресов.
  3. Щелкните Создать средство выполнения.

  4. Чтобы разрешить организациям доступ к larger runner, необходимо указать список организаций, которые могут использовать их. Дополнительные сведения см. в статье Управление доступом к проектам.

Добавление larger runner в организацию

Вы можете добавить larger runner в организацию, и администраторы организации могут контролировать, какие репозитории могут его использовать.

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

Вы также можете определить метки для средства выполнения, чтобы рабочие процессы могли отправлять задания в средства выполнения для обработки (с помощью runs-on). Новые средства выполнения автоматически назначаются группе по умолчанию, или вы можете выбрать, к какой группе должны присоединяться средства выполнения во время создания. Кроме того, после регистрации средства выполнения вы можете изменить его группу. Дополнительные сведения см. в разделе Управление доступом к larger runner.

  1. На GitHub.com перейдите на главную страницу организации. 1. Под названием организации щелкните Параметры.  Кнопка "Параметры организации" 1. На левой боковой панели щелкните Actions (Средства выполнения). 1. Щелкните Новое средство выполнения, а затем выберите New GitHub-hosted runner.

  2. Укажите необходимые сведения для настройки нового средства выполнения:

    • Имя. Введите имя нового средства выполнения. Для простоты оно должно указывать на конфигурацию оборудования и операционной системы, например ubuntu-20.04-16core.
    • Образ средства выполнения: выберите операционную систему из доступных вариантов. Выбрав операционную систему, вы сможете выбрать определенную версию.
    • Размер средства выполнения: выберите конфигурацию оборудования из раскрывающегося списка доступных параметров.
    • Автоматическое масштабирование: выберите максимальное количество средств выполнения, которые могут быть активны одновременно.
    • Группа средств выполнения: выберите группу, в которую будет входить средство выполнения. Эта группа будет включать несколько экземпляров средства выполнения, так как они масштабируются в соответствии с требованиями.
    • Сеть: только для GitHub Enterprise Cloud: укажите, будет ли назначен диапазон статических IP-адресов экземплярам larger runner. В общей сложности можно использовать до 10 статических IP-адресов.
  3. Щелкните Создать средство выполнения.

  4. Чтобы разрешить репозиториям доступ к larger runner, добавьте их в список репозиториев, которые могут его использовать. Дополнительные сведения см. в статье Управление доступом к проектам.

Запуск заданий в средстве выполнения

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

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

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

В этом примере средства выполнения 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

Использование меток для управления выполнением заданий

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

name: learn-github-actions
on: [push]
jobs:
  check-bats-version:
    runs-on:
      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

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

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

В этом примере группа средств выполнения с именем 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

Использование нескольких меток

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

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

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

Управление доступом к средствам выполнения

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

Группы средств выполнения используются для управления тем, какие репозитории могут выполнять задания в larger runner. Необходимо предоставить доступ к группе с каждого уровня иерархии управления в зависимости от того, где вы определили larger runner:

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

Например, на следующей схеме указана группа средств выполнения с именем grp-ubuntu-20.04-16core на уровне предприятия. Прежде чем именованный репозиторий octo-repo сможет использовать средства выполнения в группе, необходимо сначала настроить группу на уровне предприятия, чтобы разрешить доступ из организации octo-org. Затем необходимо настроить группу на уровне организации, чтобы разрешить доступ из octo-repo:

Схема, объясняющая группы larger runner

Разрешение репозиториям доступа к группе средств выполнения

В этой процедуре показано, как настроить разрешения группы на уровне предприятия и организации:

  1. Перейдите на главную страницу репозитория или организации, где находятся группы средств выполнения.
  2. Щелкните Параметры.
  3. На левой боковой панели щелкните , а затем щелкните Группы средств выполнения**. 1. В списке групп щелкните группу средств выполнения, которую требуется настроить.
  • Для корпоративных групп средств выполнения перейдите в раздел Доступ организаций и измените, какие организации могут получать доступ к группе средств выполнения.
  • Для групп средств выполнения в организации перейдите в раздел Доступ репозиториев и измените, какие репозитории могут получать доступ к группе средств выполнения.

Предупреждение:

Если вы используете диапазон фиксированных IP-адресов, рекомендуется использовать larger runners только с частными репозиториями. При создании вилок из репозитория можно запустить опасный код в larger runner, создав запрос на вытягивание, который выполнит код в рабочем процессе.

Дополнительные сведения см. в разделе Управление доступом к larger runner.