# Настройка GitLab Runner ## 1. Подготовка проекта в GitLab 1. Перейдите в нужный проект. 2. Откройте меню: `Settings` → `CI/CD`. 3. Разверните секцию `Runners`. 4. Нажмите **"New project runner"**. 5. Укажите: - **Tag** — метка, по которой раннер будет запускаться. - **Runner description** — описание раннера. 6. **Отключите** опцию `Run untagged jobs`. --- ## 2. Установка GitLab Runner на машине Выполните следующие команды: ```bash # Скачивание бинарного файла 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` на свои): ```bash 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` ```yaml test-job: tags: - 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` закомментировать строки: ```bash if [ "$SHLVL" = 1 ]; then [ -x /usr/bin/clear_console ] && /usr/bin/clear_console -q fi ``` - перезапустить `gitlab-runner` ```bash sudo systemctl restart gitlab-runner.service ``` - перезапустить ваш пайплайн