2016-05-12 4 views
10

В настоящее время, когда я запускаю сборку в GitlabCI, она работает под пользователем gitlab-runner. Я хочу изменить его внутреннего пользователя компании. Я не нашел параметр /etc/gitlab-runner/config.toml, который решает это.Изменение пользователя Gitlab CI Runner

Моя текущая конфигурация:

concurrent = 1 
[[runners]] 
    name = "deploy" 
    url = "" 
    token = "" 
    executor = "shell" 
+0

Команда запуска gitlab-runner принимает параметр пользователя, позволяющий указать пользователя. –

ответ

18

Запуск ps aux вы можете увидеть:

/usr/bin/gitlab-ci-multi-runner run --working-directory /home/gitlab-runner --config /etc/gitlab-runner/config.toml --service gitlab-runner --syslog --user gitlab-runner 

Сервис работает с опцией --user.

Итак, давайте изменим это, это зависит от того, какой дистрибутив. вы его запускаете. Если Systemd, есть файл:

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

[Service] 
StartLimitInterval=5 
StartLimitBurst=10 
ExecStart=/usr/bin/gitlab-ci-multi-runner "run" "--working-directory" "/home/gitlab-runner" "--config" "/etc/gitlab-runner/config.toml" "--se 

Бинго, давайте изменим этот файл:

gitlab-runner uninstall 

gitlab-runner install --working-directory /home/ubuntu --user ubuntu 

перезагрузка машины или перезагрузить услугу (то есть systemctl daemon-reload), и voilà!

+0

Я думаю, что этот вид cli новый, потому что я искал что-то похожее, но кли не поддерживал его. Спасибо и хороший ответ. – PumpkinSeed

+0

Yeah GitlabCI движется очень быстро, они добавляют новые функции, но иногда новые ошибки, поэтому всегда повышайте осторожность! –

+0

Это возвращает - 'FATAL: флаг предоставлен, но не определен: -user' – letsc

1

Я нашел решение, которое не является лучшим pactrice но решил. Мне нужно использовать ssh executer и ssh для localhost. Требуется добавить gitlab-runner id_rsa.pub к авторизованным пользователям, которые вы хотите использовать. Существует мой расширенный код:

concurrent = 1 

[[runners]] 
    name = "deploy" 
    url = "" 
    token = "" 
    executor = "ssh" 
    [runners.ssh] 
    user = "user" 
    host = "localhost" 
    port = "22" 
    identity_file = "/home/gitlab-runner/.ssh/id_rsa" 
Смежные вопросы