ru

GitLab Runner на офшорном VPS: выделенный CI worker без лимитов

GitLab Runner это агент, который забирает CI job из вашего GitLab сервера и выполняет их в изолированной среде. На gitlab.com бесплатный тариф ограничен 400 минутами в месяц, а платные минуты стоят дороже выделенного VPS. Self-hosted Runner на офшорном VPS Anubiz Host снимает все ограничения: вы запускаете столько pipeline, сколько влезает в CPU и RAM, используете любой executor (shell, Docker, Kubernetes, custom), и не передаёте код или секреты третьим лицам. Юрисдикция Исландии и Румынии плюс оплата криптой делают такую инфраструктуру удобной для команд, которые ценят независимость и приватность.

Need this done for your project?

We implement, you ship. Async, documented, done in days.

Start a Brief

Зачем выделенный VPS под GitLab Runner

На небольших проектах достаточно запустить Runner рядом с GitLab сервером, но как только команда растёт и pipeline становятся тяжёлыми, удобнее вынести Runner на отдельный VPS. Причины:

  • Изоляция нагрузки: тяжёлые CI job не тормозят основной GitLab. Разработчики продолжают делать commit и code review, пока на runner идут долгие тесты.
  • Параллельные сборки: один Runner с concurrent = 4 на 8 vCPU держит 4 параллельных pipeline. На пиках добавляем второй VPS и Runner подхватывает job автоматически.
  • Безопасность секретов: можно создать отдельные runner для production и staging веток, разделяя доступ к credentials.
  • Docker-in-Docker без конфликтов: на выделенном VPS свободно гоняем docker build, docker push в registry, не задевая GitLab сервер.
  • Юрисдикция Исландии и Румынии: Runner с доступом к исходному коду и секретам должен стоять в стране, где провайдер не передаёт данные иностранным регуляторам.

Anubiz Host выделяет KVM VPS под Runner с гарантированным CPU и NVMe дисками. Открытые порты позволяют Runner подключаться к любому внешнему GitLab серверу через HTTPS, а полный root даёт право ставить любые версии Docker, kubectl, golang и nodejs.

Рекомендуемая конфигурация под разные executor

Выбор плана VPS зависит от executor и размера сборок. Базовые ориентиры для GitLab Runner 16.x:

  • Shell executor, простые тесты: 2 vCPU, 4 ГБ RAM, 50 ГБ NVMe. План VPS M от $12/мес. Concurrent = 2.
  • Docker executor, сборка образов: 4 vCPU, 8 ГБ RAM, 100 ГБ NVMe. План VPS L от $20/мес. Concurrent = 3-4. Включаем Docker layer cache.
  • Docker-in-Docker, deploy в Kubernetes: 8 vCPU, 16 ГБ RAM, 200 ГБ NVMe. План VPS XL от $35/мес. Concurrent = 6-8.
  • Kubernetes executor: Runner сам по себе требует минимум 2 vCPU и 4 ГБ RAM, но k8s кластер на отдельных VPS. План VPS M под controller, плюс 2-3 worker от $35/мес каждый.
  • Кэш и артефакты: минимум 50 ГБ свободного места под /var/lib/gitlab-runner/cache. На тяжёлых node_modules или composer проектах кэш быстро забивает диск.

Все планы Anubiz Host используют NVMe, что критично для Docker layer cache и git clone больших монорепозиториев. На медленных дисках время сборки растёт в 2-3 раза, особенно на проектах с большим количеством мелких файлов.

Безопасность Runner и защита от утечек

GitLab Runner получает доступ к исходному коду и секретам проекта, поэтому компрометация Runner означает компрометацию всего пайплайна. Базовый чеклист защиты:

  • Отдельный пользователь gitlab-runner: никогда не запускаем Runner от root. Создаём системного пользователя без sudo прав.
  • Tags для group runner: привязываем runner к конкретным проектам через tags, чтобы не выполнять job из чужих репозиториев.
  • Protected runner для production: отдельный VPS только под job из защищённых веток (main/master). Секреты deploy недоступны runner из feature веток.
  • Docker rootless или Sysbox: чтобы не давать runner полный доступ к Docker daemon. Альтернатива Kaniko для сборки образов без daemon.
  • Сетевая изоляция: Runner подключается к GitLab по HTTPS и наружу не нужен ничего больше. Закрываем входящие порты iptables.
  • Очистка после job: shell_executor оставляет следы в /tmp, добавляем pre_clone_script и post_clone_script для wipe.
  • Логи job не сохраняем дольше 14 дней: Admin Settings - CI/CD - Job artifacts expiration.

Anubiz Host не имеет доступа к данным внутри VPS клиента, и юрисдикция Исландии защищает Runner от запросов иностранных регуляторов. Оплата криптой и регистрация по email без KYC дают полную приватность владельцу CI инфраструктуры.

Why Anubiz Host

100% async — no calls, no meetings
Delivered in days, not weeks
Full documentation included
Production-grade from day one
Security-first approach
Post-delivery support included

Ready to get started?

Skip the research. Tell us what you need, and we'll scope it, implement it, and hand it back — fully documented and production-ready.

Anubiz Chat AI

Online