Запускаем gitlab-runner от имени пользователя

25 июня 2020

По умолчанию gitlab runner, работает под учеткой gitlab-runner, но что если нам нужно делать pull под другой учеткой?

На помощь приходит смена учетки, на сервере под которой будет работать runner. Все действия происходят под Ubuntu 18 Server. Есть 2 способа.

Первый (правильный)

1. Создаем директорию

/etc/systemd/system/gitlab-runner.service.d

2. Создаем файл

/etc/systemd/system/gitlab-runner.service.d/exec_start.conf

3. Пишем в файл

[Service]
ExecStart=
ExecStart=/usr/lib/gitlab-runner/gitlab-runner "run" "--working-directory" "/путь_до_директории" "--config" "/etc/gitlab-runner/config.toml" "--service" "gitlab-runner" "--syslog" "--user" "пользователь"

Где в путь_до_директории и пользователь вставляем свои значения.

4. Сохраняем файл и перезапускаем сервис systemctl daemon-reload

Для проверки:

- Удаляем и ставим gitlab runner gitlab-runner uninstall и gitlab-runner install
- Проверяем ps aux | grep gitlab

Второй (не правильный, так как после upgrade все настройки придется прописывать заново)

1. Открываем файл /etc/systemd/system/gitlab-runner.service

2. Видим:

[Service]
StartLimitInterval=5
StartLimitBurst=10
ExecStart=/usr/lib/gitlab-runner/gitlab-runner "run" "--working-directory" "/home/gitlab-runner" "--config" "/etc/gitlab-runner/config.toml" "--service" "gitlab-runner" "--syslog" "--user" "gitlab-runner"

3. Нам нужно изменить пользователя после --user, закрываем, пишем:

gitlab-runner uninstall
gitlab-runner install --working-directory /home/имя_пользователя --user имя_пользователя

4. Перезагружаемся. Радуемся.