GitLab Runner — это агент (веб-приложение), предназначенный для выполнения задач GitLab CI/CD из файла .gitlab-ci.yml
, который располагается в корневой директории вашего проекта, тем самым автоматизируя рутинную работу по тестированию и развёртыванию проекта на рабочем сервере.
Runner можно установить как на том же сервере, где установлен GitLab, так и отдельно. Главное, чтобы между GitLab Runner и сервером GitLab было сетевое взаимодействие. Установить Runner можно на такие ОС, как Linux, Windows, macOS, также поддерживается запуск в контейнере Docker.
Добавление официального репозитория GitLab
Установку GitLab Runner мы будем производить из официального репозитория GitLab. Зарегистрируем его:
curl -L "https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh" | bash

Установка
Для установки последней версии GitLab Runner запустите команду
apt install gitlab-runner -y
Начиная с версии v17.7.1, если устанавливаемая версия не является последней, то вы должны явно установить требуемую gitlab-runner-helper-packages для этой версии. Это требование существует из-за ограничений apt/apt-get.
Вывести список доступных версий можно командой
apt-cache madison gitlab-runner
Например, для версии 17.7.1-1 установку производим командой
apt install gitlab-runner=17.7.1-1 gitlab-runner-helper-images=17.7.1-1 -y
Регистрация GitLab Runner
Чтобы сервер GitLab мог взаимодействовать с нашим Runner, мы должны зарегистрировать его, передав адрес самого сервера и токен доступа. Получить его мы должны были при регистрации runner в настройках нашего проекта на GitLab (Settings → CI/CD).

Запускаем процесс регистрации
gitlab-runner register
Нас попросят ввести GitLab сервер с которым будет происходить взаимодействие. Если это официальный сервер GitLab, то вводим
https://gitlab.com/
затем токен доступа, полученный при регистрации runner. В нашем случае это
glrt-t3_ywU_e1FyjydTE7XY4wz-
также описание, теги и примечание.
Далее выбираем исполнителя из предложенного списка:
kubernetes, instance, shell, parallels, virtualbox, docker, docker-autoscaler, custom, ssh, docker-windows, docker+machine
Выбираем
shell
В итоге получаем подтверждение успешной регистрации runner:

После выполнения вышеуказанных шагов можно запустить runner и использовать его в своих проектах
gitlab-runner run
Файл настроек GitLab Runner находится в /etc/gitlab-runner/config.toml
То, что runner запущен и сервер его видит, можно определить в тех же настройках проекта на GitLab

Добавляем gitlab-runner в группу Docker
Для того, чтобы исправно работали команды скрипта pipeline GitLab CI/CD в отношении взаимодействия с контейнерами Docker, нужно добавить пользователя gitlab-runner в группу docker. Сделать это можно через панель Webmin. Переходим в Система → Пользователи и группы и во вкладке Локальные группы открываем docker, где добавляем нужного нам пользователя.
Также это действие можно произвести в терминале командой
usermod -a -G docker gitlab-runner
Обязательно прочтите раздел часто задаваемых вопросов , в котором описаны некоторые наиболее распространенные проблемы с GitLab Runner.
Обновление GitLab Runner
Чтобы установить последнюю версию GitLab Runner:
apt update; apt install gitlab-runner