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

Конспект страницы: 6 разделов коротко, данные на 14 октября 2026 и ответы на 5 вопросов. Полный разбор с примерами: Установка GitLab Runner на свой сервер.

Коротко

Главная / Разработка / GitLab Runner Установка GitLab Runner на сервер делается одним контейнером Docker: он забирает задания из вашего GitLab и выполняет их у себя, каждое в чистом контейнере. Тот же приём работает для GitHub Actions: там раннер называется self-hosted runner, а ставится обычной программой с выдаваемым токеном. Раннеру на старте хватит 2 ядер и 4 ГБ памяти, а на сборки Docker-образов добавляйте память и диск.

Конспект по разделам

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

Пайплайн GitLab состоит из заданий: собрать, проверить, выложить. Сам GitLab их не выполняет, это делает раннер, то есть отдельная программа. Раннер сам опрашивает GitLab по HTTPS и забирает задания, поэтому открывать входящие порты на его сервере не нужно.

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

У самой программы раннера почти нет требований, она ждёт задания и запускает контейнеры. Ресурсы определяет то, что внутри этих контейнеров: компиляция, тесты с базой данных, сборка образов. Для старта разумно взять 2 ядра и 4 ГБ памяти, а потом смотреть на реальную загрузку.

Установка GitLab Runner в Docker и регистрация по токену

Установка без Docker тоже есть: пакет gitlab-runner из репозитория разработчиков для Ubuntu и Debian, затем та же команда gitlab-runner register. Контейнер удобнее тем, что удаляется и переносится целиком.

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

Монтирование /var/run/docker.sock в контейнер раннера означает, что любое задание получает полный контроль над Docker-демоном сервера. Разработчики GitLab прямо предупреждают, что на таком сервере не стоит держать другие нагрузки. Собранные образы удобно складывать в свой реестр: варианты разобраны на странице self hosted Docker registry.

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

У GitHub Actions та же идея, другой набор команд. Раннер скачивают из репозитория или организации: Settings, Actions, Runners, кнопка нового self-hosted runner. Страница сама подставит ссылку на архив и одноразовый токен для вашей системы.

Установите приложение без консоли

Маркетплейс ставит готовый образ на новый сервер: Docker, GitLab, Nextcloud, n8n и другие.

Данные

ExecutorКак выполняет заданиеКогда выбирать
shellКоманды прямо на хостеНужен доступ к железу или системным программам, изоляции нет
dockerНовый контейнер на каждое заданиеОбычный выбор для тестов и сборок
docker с dindВнутри контейнера свой Docker-демонСборка образов, нужен привилегированный режим
kubernetesПод в кластере на каждое заданиеЕсть кластер, нужна масштабируемость: Kubernetes

Данные на 14 октября 2026.

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

Нужно ли открывать порты на сервере для GitLab Runner?

Нет. Раннер сам обращается к GitLab по HTTPS и забирает задания, входящие порты не нужны. Достаточно, чтобы сервер раннера доходил до адреса GitLab.

Чем executor docker отличается от shell в GitLab Runner?

Shell выполняет команды прямо на хосте и оставляет мусор между сборками. Docker запускает каждое задание в новом контейнере из указанного образа, поэтому окружение чистое и воспроизводимое.

Как установить GitLab Runner на Ubuntu без Docker?

Подключить официальный репозиторий разработчиков, поставить пакет gitlab-runner через apt и выполнить gitlab-runner register с токеном из интерфейса GitLab. Служба запускается автоматически.

Можно ли запустить GitLab Runner на одном сервере с GitLab?

Технически можно, но сборки будут отнимать память и ядра у самого GitLab. Для небольшой команды допустимо, для постоянной нагрузки лучше отдельный сервер.

Как подключить свой сервер к GitHub Actions?

Создать self-hosted runner в настройках репозитория, выполнить на сервере config.sh с выданным токеном, поставить службу командой svc.sh и указать runs-on: self-hosted в workflow.