Skip to main content

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

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

Просмотр доступных модулей выполнения для репозитория

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

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

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

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

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

  4. Щелкните вкладку "Локальное размещение " в верхней части списка runners.

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

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

Примечание.

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

Для получения дополнительной информации смотрите Управление большими бегунами и Добавление локальных средств выполнения.

Дополнительные сведения о пользовательских ролях организации см. в разделе Разрешения на кастомные организационные роли.

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

Локальное средство выполнения автоматически получает определенные метки при добавлении GitHub Actions. Они служат для указания операционной системы и аппаратной платформы:

  • self-hosted: метка по умолчанию, применяемая к локальным запускам.
  • linux, windows или macOS — применяется в зависимости от операционной системы;
  • x64, ARM или ARM64 — применяются в зависимости от архитектуры оборудования.

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

runs-on: [self-hosted, linux, ARM64]
  • self-hosted — задание выполняется в локальном средстве выполнения.
  • linux — использовать только средство выполнения на основе Linux.
  • ARM64 — использовать средство выполнения только на основе оборудования ARM64.

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

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

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

Например, если заданию требуется конкретный тип графического оборудования, можно создать пользовательскую метку gpu и назначить ее средствам выполнения с этим оборудованием. Выполнение задания допускается в локальном средстве выполнения, которому назначены все соответствующие метки.

В этом примере показано задание с сочетанием меток по умолчанию и пользовательских меток:

runs-on: [self-hosted, linux, x64, gpu]
  • self-hosted — задание выполняется в локальном средстве выполнения.
  • linux — использовать только средство выполнения на основе Linux.
  • x64 — использовать средство выполнения только на основе архитектуры x64.
  • gpu — эта пользовательская метка была вручную назначена локальным средствам выполнения с установленным GPU.

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

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

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

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

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

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

В этом примере runs-on ключ объединяется group так labels , что задание направляется к любому доступному бегущему в группе, который также имеет совпадающую метку:

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@v4
        with:
          node-version: '14'
      - run: npm install -g bats
      - run: bats -v