EQVPS
КабинетНачать
Разработчику

Скрипт установки self-hosted раннера GitHub Actions

Укажите репозиторий и метки и получите скрипт: он поставит раннер под отдельным пользователем и запустит его как сервис. Токен вы вводите на своём сервере, а не здесь.

Работает целиком в браузере — ничего из введённого не отправляется на наши серверы.

Только для приватных репозиториев. В публичном pull request из форка может выполнить код на вашем сервере.

Скрипт установки
Строка для workflow

Как запустить

  1. На GitHub откройте Settings → Actions → Runners → New self-hosted runner и скопируйте токен.
  2. Скопируйте скрипт на сервер с Debian или Ubuntu и запустите от root: bash install-runner.sh.
  3. Когда скрипт попросит, вставьте токен. Он остаётся на вашем сервере и через эту страницу не проходит.
  4. Вставьте строку runs-on в свой workflow.

Пошаговый гайд: self-hosted раннер на VPS

Нужен сервер под раннер? Тариф Small: 4 vCPU, 4 ГБ, root-доступ, $8 в месяц.

Тариф Small

Как это работает

Self-hosted раннер работает на вашей машине: сам подключается к GitHub, забирает задания и выполняет их у вас. Скрипт ставит нужные пакеты, создаёт отдельного пользователя Linux, скачивает последний выпуск раннера, регистрирует его и настраивает сервис systemd, который переживает перезагрузки. Скрипт собирается в браузере, поэтому прочитайте каждую строку перед запуском. Серверу нужен только исходящий доступ к GitHub, выделенный IP не требуется.

Вопросы и ответы

Где взять токен регистрации?

В репозитории откройте Settings → Actions → Runners → New self-hosted runner. Токен действует один час. Для раннера на всю организацию путь тот же, но в настройках организации.

Можно ли использовать self-hosted раннер с публичным репозиторием?

GitHub не советует: pull request из форка может выполнить код на вашем сервере. Используйте self-hosted раннеры с приватными репозиториями.

Нужен ли серверу выделенный IP?

Нет. Раннер сам подключается к GitHub, входящие соединения ему не нужны, поэтому подойдёт тариф без выделенного IP. По мощности большинству проектов хватает 4 vCPU и 4 ГБ памяти.

Похожие инструменты

Все инструменты →