База знанийCI/CDРаннерыЛокальные раннеры

Локальные раннеры (Self-hosted)

Локальный (self-hosted) раннер — это приложение, которое вы развертываете и которым управляете самостоятельно. Такой раннер подключается к вашему экземпляру GitVerse и выполняет задачи workflow в контролируемой вами среде (на хосте или в контейнере).

Рекомендации

Self-hosted раннеры подходят, если вам нужно:

  • запускать сборки и тесты в специфической инфраструктуре (например, со своими зависимостями, библиотеками, GPU и т. д.);
  • работать с внутренними сетями кодовой базой физически или по соображениям безопасности недоступной из облака;
  • выполнять долговременные задачи без ограничений по времени выполнения.

Режимы работы

Раннеры поддерживают два режима работы: в Docker-контейнере и на хосте. Для режима Docker требуется установленный и запущенный Docker daemon; если вы планируете выполнять job’ы напрямую на хосте, Docker не обязателен.

Рекомендуется запускать job’ы в контейнерах — это повышает изоляцию и воспроизводимость окружения.

Загрузка

Раннеры GitVerse доступны как нативные приложений под различные ОС и архитектуры, а также в виде Docker-образов.

ПлатформаАрхитектураВерсияСсылка
Linuxamd644.3.0Скачать
Windowsamd644.3.0Скачать
macOSarm644.3.0Скачать
macOSamd644.3.0Скачать
Dockerany4.3.0docker pull gitverse.ru/gitverse/act-runner:4.3.0

Все версии доступны в пакетах организации GitVerse

После загрузки, для Linux и MacOS сделайте файл исполняемым и проверьте версию:

chmod +x act_runner
./act_runner --version

Для MacOS выполните сброс атрибутов файла:

xattr -c act_runner

Регистрация и запуск

Получение токена регистрации

Раннеры регистрируются на одном из уровней:

  • Уровень репозитория — раннер привязан к конкретному репозиторию;
  • Уровень организации — раннер доступен внутри организации.

Токен регистрации получают в UI (Настройки репозитория/организации -> Раннеры -> Добавить раннер) или через API получения токена раннера уровня репозитория или уровня организации


Регистрация раннера

Интерактивный режим

./act_runner register

Интерактивный процесс спросит или проставит по умолчанию:

  • URL инстанса (по-умолчанию https://gitverse.ru/sc);
  • регистрационный токен (ввод обязателен);
  • имя раннера (по умолчанию - ваш hostname);
  • метки (labels).

Неинтерактивный режим

act_runner register \
--no-interactive \
--instance https://gitverse.ru/sc \
--token HemPbniNKaEjHkefe6DpNd4Ii75jk2rF5x1QLx7R
--name Demo

Регистрация раннера в Docker-контейнере

При использовании раннера в Docker-контейнере процесс отличается. Регистрация и запуск объединены в один шаг, данные для регистрации передаются при запуске:

docker run \
      -v /var/run/docker.sock:/var/run/docker.sock \
      -e RUNNER_REGISTRATION_TOKEN=<registration token> \
      gitverse.ru/gitverse/act-runner:4.3.0

Запуск раннера

./act_runner daemon

Метки и среды выполнения

⚠️

С 20 октября 2025 метка ubuntu-latest будет относиться к облачному раннеру.
Раннеры v4.3.0 уже не имеют метки ubuntu-latest по-умолчанию.

При регистрации self-hosted раннера, ему автоматически присваиваются стандартные метки (labels).

Эти метки отражают операционную систему, аппаратную архитектуру раннера, а также влияют на режим, в котором выполняются задачи:

РежимМеткаОписаниеПример использования
Hostself-hosted, linux, windows, macos, x64, arm64Задачи выполняются на самом хосте, где установлен раннер.runs-on: [self-hosted, linux, x64]
Dockerimg-ubuntu-latest, img-ubuntu-22.04, img-ubuntu-20.04Раннер запускает задачу в контейнере с указанным образом.runs-on: img-ubuntu-20.04

Создание своих меток

Метки, в том числе и по умолчанию, задаются списком значений, разделенных запятой. Стандартный набор меток для раннера под Linux выглядит так:

linux:host, x64:host, self-hosted:host,
img-ubuntu-latest:gitverse:gitverse/runner-image:ubuntu-latest, img-ubuntu-22.04:gitverse:gitverse/runner-image:ubuntu-22.04, img-ubuntu-20.04:gitverse:gitverse/runner-image:ubuntu-20.04

Метка img-ubuntu-20.04:gitverse:gitverse/runner-image:ubuntu-20.04, где:

  • img-ubuntu-20.04 - сама метка и указыывается в runs-on: img-ubuntu-20.04;
  • gitverse:gitverse/runner-image:ubuntu-20.04 указывает окружение для выполнения задач в Docker-контейнере, созданном из образа gitverse/runner-image:ubuntu-20.04.

Метка self-hosted:host

  • self-hosted - сама метка и указыывается в runs-on: self-hosted;
  • host указывает, что каждая задача будет выполняться на самом хосте, где установлен раннер.

Суффикс :host не является обязательным, но рекомендуется использовать уникальные метки, например linux_amd64:host или windows:host, чтобы избежать неоднозначностей и ошибок при маршрутизации задач.