В Settings→CI/CD→Runners будут данные для авторизации: URL и токен регистрации.
Старт as service
Удаление
Установка бинарника
Удаление
Установка в docker контейнере
Регистрация
До регистрации могут быть ошибки в логах контейнера
До регистрации не существует конфиг файла - на это и будет ругаться gitlab-runner, но после регистрации автоматически создастся конфиг файл и ошибка исчезнет.
Пример команды для неинтерактивный регистрации:
Нейминг экземпляров gitlab-runner
Именовать раннеры при регистрации стоит так, чтобы сразу было понятно по названию - что это за раннер, где находится, для чего нужен.
Например, раннер с executor-ом shell на моем домашнем сервере Intel Nuc (😭) я назвал nuc-shell. Раннеры под какие-то отдельные проекты аналогично - nuc-<project>-docker.
Добавление volumes
При регистрации:
Troubleshoot
В траблах общего назначения проверь конфиг (в случае с запуском в контейнере это /srv/gitlab-runner/config/config.toml) на наличие дублирующихся блоков кода.
Время отлова задачи зависит от сервера, на котором стоит раннер
Сервера с белыми IP ловят задачи за секунды, а сервера с серыми IP могут ловить задачу (то есть, когда простаивает в pending state) целую минуту, а то и больше.
Не запускается gitlab-runner (бинарник) при event
При запуске пайплайна в GitLab WebUI не запускался job с такой ошибкой:
ERROR: Job failed: prepare environment: exit status 1. Check https://docs.gitlab.com/runner/shells/index.html#shell-profile-loading for more information
Возникновение одного или несколько ошибок в job-ах из следующего перечня:
Решение
docker:dindне работает без привелигированного режима.
Нужно отключить TLS для docker:dind
Нужно указать DOCKER_HOST
Можно сделать то же самое при регистрации:
DOCKER_DRIVER может мешать
Я не использую environment = ["DOCKER_DRIVER=overlay2", "DOCKER_TLS_CERTDIR="], ибо при определении переменной DOCKER_DRIVER (не важно где) возникает такая ошибка:
error during connect: Post http://docker:2375/v1.40/auth: dial tcp: lookup docker on 192.168.1.1:53: no such host