EQVPS

Как настроить self-hosted раннер GitHub Actions на VPS

Зарегистрируйте self-hosted раннер GitHub Actions на VPS и установите его как сервис: скачайте раннер от имени пользователя без root, зарегистрируйте с токеном репозитория, запустите svc.sh, чтобы он переживал перезагрузки. Копируемые команды.

Self-hosted раннер даёт вам CI с фиксированной стоимостью и тёплыми кэшами — без поминутной оплаты, ваш тулчейн, ваша машина. Это минимальная инструкция по настройке; о том, почему self-hosting выигрывает у минут GitHub-hosted, и о деталях Docker-задач смотрите полный гайд и кейс VPS для GitHub Actions.

1. Создайте пользователя без root (раннер отвергает root)

adduser --disabled-password --gecos "" runner
su - runner

2. Скачайте раннер

В GitHub: Settings → Actions → Runners → New self-hosted runner → Linux, что даёт точную ссылку для скачивания и одноразовый токен. Затем:

mkdir actions-runner && cd actions-runner
curl -o actions-runner-linux-x64.tar.gz -L \
  https://github.com/actions/runner/releases/latest/download/actions-runner-linux-x64.tar.gz
tar xzf actions-runner-linux-x64.tar.gz

3. Зарегистрируйте его в вашем репозитории

./config.sh --url https://github.com/YOUR_ORG/YOUR_REPO --token YOUR_TOKEN

4. Установите как сервис (переживает перезагрузки)

Не запускайте ./run.sh в терминале — установите его:

sudo ./svc.sh install runner
sudo ./svc.sh start
sudo ./svc.sh status

Теперь раннер отображается как Idle в интерфейсе GitHub и подхватывает задачи, нацеленные на него.

5. Используйте его из workflow

jobs:
  build:
    runs-on: self-hosted
    steps:
      - uses: actions/checkout@v4
      - run: make build && make test

Docker-задачи (опционально)

Установите Docker один раз, и workflow смогут собирать образы с кэшем слоёв, сохраняющимся между запусками:

sudo apt install -y docker.io
sudo usermod -aG docker runner

Смотрите установку Docker на VPS. Размер: Small ($8/мес) комфортен для большинства CI; берите мощнее для тяжёлой компиляции. Root примерно за минуту, без KYC, оплата в крипте.

Частые вопросы

Как зарегистрировать self-hosted раннер GitHub Actions?

В вашем репозитории (или организации): Settings → Actions → Runners → New self-hosted runner → Linux. GitHub покажет команду скачивания и одноразовый токен регистрации. Скачайте раннер от имени пользователя без root, запустите ./config.sh с этим URL и токеном, затем установите его как сервис через svc.sh. Шаги ниже.

Почему раннер не может работать под root?

Раннер по замыслу отказывается работать под root. Создайте выделенного пользователя без root (adduser runner) и настройте его там. Это также ограничивает то, к чему может прикоснуться вредоносный workflow на вашей машине.

Как держать раннер запущенным после перезагрузки?

Используйте встроенный помощник svc.sh: sudo ./svc.sh install runner && sudo ./svc.sh start. Он ставит systemd-юнит, чтобы раннер стартовал при загрузке и перезапускался после сбоя, и отображался как Idle в интерфейсе GitHub.

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

Нет. Раннер сам подключается к GitHub по HTTPS; входящих подключений к нему не требуется. Подойдёт NAT-тариф (от $3/мес). Берите выделенный IP, только если вы также размещаете что-то, что обслуживает трафик.

Вы просите документы или карту?

Нет. Email для регистрации, оплата в USDC или USDT — без документов, без карты. Root примерно за минуту.

Комментарии

Пока нет комментариев. Будьте первым.

Оставить комментарий

Комментарии проходят модерацию перед публикацией.