Установка GitLab Runner на свой сервер: термины и чек-лист

Подробности, цифры, термины и чек-лист по теме «Установка GitLab Runner на свой сервер». Страница справочника целиком: Установка GitLab Runner на сервер.

Коротко о теме

Установка GitLab Runner на VPS через Docker: образ gitlab-runner, токен glrt- и подключение раннера GitHub Actions к своему серверу сборок.

Подробности по разделам

Что делает GitLab Runner и зачем ему отдельный сервер

Выносить раннер на другой сервер стоит по двум причинам. Сборки грузят процессор и диск и не должны тормозить сам GitLab. И выполняют они ваш код, поэтому им нужна граница безопасности: компрометация раннера не должна давать доступ к базе с задачами и репозиториями.

Сколько ресурсов нужно раннеру GitLab на VPS

Две ловушки по ресурсам. В настройке concurrent файла config.toml по умолчанию стоит 1, то есть сборки идут по очереди, и чтобы использовать ядра, число поднимают. А диск со временем забивают образы и кэш: раз в неделю чистите их командой docker system prune по расписанию.

Как собирать образы на раннере GitLab и не отдать сервер

Минимальное задание для проверки раннера:

Раннер GitHub Actions на своём сервере: ставим self-hosted runner

Раннер GitHub выполняет в публичном репозитории код из чужих запросов на слияние, поэтому его подключают к закрытым проектам. Требования к серверу те же, что и для GitLab Runner: процессор, память и диск зависят от ваших сборок, а не от самого раннера. Если рядом нужен ещё и свой Git-сервер, посмотрите Gitea с собственным раннером act_runner.

Ключевые цифры

Термины на странице

Self-hosted
Self-hosted значит, что программа работает на вашем сервере, а данные остаются у вас.
Nextcloud
Nextcloud это облачное хранилище файлов, которое ставят на свой сервер.
n8n
n8n это программа для автоматизации: связывает сервисы сценариями без программирования.
Debian
Debian это дистрибутив Linux, на котором основана Ubuntu. Его ценят за стабильность.
Docker
Docker запускает программы в контейнерах: всё нужное для работы упаковано в образ.
HTTPS
HTTPS это защищённая версия HTTP: данные между браузером и сайтом шифруются.

Что проверить

  1. Храните данные контейнеров в томах.
  2. Закрепляйте версии образов, а не latest.
  3. Ограничьте ресурсы контейнеров, чтобы один не съел весь сервер.
  4. Выберите конфигурацию по памяти и диску под задачу, процессор обычно вторичен.
  5. Проверьте тип виртуализации: KVM даёт свою систему и гарантированные ресурсы.
  6. Уточните, входит ли IPv4 и сколько стоит трафик сверх пакета.

Связанные страницы