Настройка GitLab Runner
Contents
Настройка GitLab Runner#
1. Подготовка проекта в GitLab#
Перейдите в нужный проект.
Откройте меню:
Settings
→CI/CD
.Разверните секцию
Runners
.Нажмите «New project runner».
Укажите:
Tag — метка, по которой раннер будет запускаться.
Runner description — описание раннера.
Отключите опцию
Run untagged jobs
.
2. Установка GitLab Runner на машине#
Выполните следующие команды:
# Скачивание бинарного файла GitLab Runner
sudo curl -L --output /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64
# Выдача прав на исполнение
sudo chmod +x /usr/local/bin/gitlab-runner
# Создание системного пользователя
sudo useradd --comment 'GitLab Runner' --create-home gitlab-runner --shell /bin/bash
# Установка раннера как systemd-сервиса
sudo gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner
# Запуск сервиса
sudo gitlab-runner start
3. Регистрация раннера#
На той же машине выполните команду регистрации (замените --token
и --url
на свои):
sudo gitlab-runner register --url http://gitlablocal --token glrt-t3_m2-zeUzFHMysT3QDwmsT
Во время регистрации:
Укажите имя раннера (можно оставить по умолчанию).
Выберите тип исполнителя:
shell
.Убедитесь, что вы используете тот же tag, что указали в проекте.
4. Проверка#
Если вы запускали runner как systemd
сервис (sudo gitlab-runner install && start
), дополнительно запускать gitlab-runner run
не требуется.
Runner автоматически стартует вместе с системой и готов выполнять пайплайны из проекта, в котором он зарегистрирован.
Пример .gitlab-ci.yml
#
test-job:
tags:
- <your-runner-tag>
script:
- echo "Runner работает!"
Возможные проблемы#
Если при запуске пайплайна, он выдает такую ошибку:
Running with gitlab-runner 18.0.3 (4e717029)
on gsf-cli-runner t3_bF2zm, system ID: s_3f8d99cb7822
Preparing the "shell" executor
00:00
Using Shell (bash) executor...
Preparing environment
00:00
Running on gsf-cli-ci...
ERROR: Job failed: prepare environment: exit status 1. Check https://docs.gitlab.com/runner/shells/#shell-profile-loading for more information
Тогда требуется:
в файле
/home/gitlab-runner/.bash_logout
закомментировать строки:if [ "$SHLVL" = 1 ]; then [ -x /usr/bin/clear_console ] && /usr/bin/clear_console -q fi
перезапустить
gitlab-runner
sudo systemctl restart gitlab-runner.service
перезапустить ваш пайплайн