Изменение пользователя Gitlab CI Runner

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

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

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

Ответ 1

Запуск 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

Bingo, теперь измените этот файл:

gitlab-runner uninstall

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

перезагрузите компьютер или перезагрузите службу (т.е. systemctl daemon-reload), и пока!

Ответ 2

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

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"