Раннеры

Раннер - это программа, которая позволяет запускать GitVerse Actions.

Она регистрируется на сервере GitVerse, загружает и выполняет задачи GitVerse CI CD и отправляет обратно результаты выполнения задач.

Вы можете скачать бинарный файл для Linux x64 или Docker образ.

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

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

Загрузка

Ссылки для скачивания

Операционная системаБинарный файл/версияСтраница пакета
windows amd64windows_amd64/3.0.2 (opens in a new tab)https://gitverse.ru/gitverse/-/packages/generic/act_runner_windows_amd64/3.0.2?tab=packages (opens in a new tab)
darwin arm64darwin_arm64/3.0.2 (opens in a new tab)https://gitverse.ru/gitverse/-/packages/generic/act_runner_darwin_arm64/3.0.2?tab=packages (opens in a new tab)
darwin amd64darwin_amd64/3.0.2 (opens in a new tab)https://gitverse.ru/gitverse/-/packages/generic/act_runner_darwin_amd64/3.0.2?tab=packages (opens in a new tab)
linux amd 64linux_amd64/3.0.2 (opens in a new tab)https://gitverse.ru/gitverse/-/packages/generic/act_runner_linux_amd64/3.0.2?tab=packages (opens in a new tab)

Загрузка бинарного файла

  1. Скачайте бинарный файл раннера для Linux x64.

  2. После загрузки сделайте файл исполняемым:

    chmod +x <имя файла раннера>
    ./<имя файла раннера> --version

Загрузка образа Docker

Пример команды для скачивания образа Docker:

docker pull gitverse.ru/gitverse/act-runner:3.0.2

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

Токен доступен на странице настроек репозитория (пример: https://gitverse.ru/<владелец>/<имя-репозитория>/settings/runners).

Нажмите Добавить раннер и скопируйте регистрационный токен:

Получение токена

Формат токена регистрации – случайная строка, пример: D0gvfu2iHfUjNqCYVljVyRV14fISpJxxxxxxxxxx.

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

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

Вы можете зарегистрировать раннер на уровне проекта или организации.

⚠️

Для работы со скачанным бинарным раннером сделайте его исполняемым:

chmod +x <имя файла раннера>
./<имя файла раннера> --version

Интерактивная регистрация раннера

Скаченный бинарный раннер регистрируется командой:

./<имя файла раннера> register 

Далее вас пошагово попросят ввести данные для регистрации:

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

Пример диалога интерактивной регистрации раннера:

Пример диалога интерактивной регистрации раннера

Неинтерактивная регистрация раннера

Для неинтерактивной регистрации бинарного раннера используйте аргументы:

./act_runner register --no-interactive --instance <instance_url> --token <registration_token> --name <runner_name>

Пример:

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

После регистрации в текущей директории появится файл .runner. Он хранит данные регистрации – не редактируйте его вручную! Если файл потеряется или повредится, просто удалите его и проведите регистрацию снова. При необходимости можно указать иное местоположение файла через конфигурацию.

Запуск

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

После регистрации раннера, запустите его:

./act_runner daemon 
# или
./act_runner daemon --config config.yaml

Раннер будет забирать задания с платформы GitVerse и выполнять их. Раннер активно развивается, поэтому рекомендуется регулярно обновлять его.

Запуск раннера в Docker контейнере

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

docker run \
      -v /var/run/docker.sock:/var/run/docker.sock \
      -e RUNNER_REGISTRATION_TOKEN=6lKl2VxzpRn6ijy9dzG5P749EXHCpCDk1gQfL16Q \
      gitverse.ru/gitverse/act-runner:3.0.2

Обратите внимание на монтирование /var/run/docker.sock. Это нужно, так как раннер запускает задания в контейнерах Docker и должен общаться с демоном Docker.

Отображения работы раннера

Активность раннера на странице CI/CD:

выполнение раннера на странице