Изменение пользователя 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"