Pum*_*eed 31 gitlab gitlab-ci gitlab-ci-runner
目前,当我在GitlabCI中开始构建时,它在gitlab-runner用户下运行.我想将其改为公司的内部用户.我没有找到/etc/gitlab-runner/config.toml的任何参数来解决这个问题.
我目前的配置:
concurrent = 1
[[runners]]
name = "deploy"
url = ""
token = ""
executor = "shell"
Run Code Online (Sandbox Code Playgroud)
Tho*_*aux 53
跑步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
Run Code Online (Sandbox Code Playgroud)
服务正在运行时带有选项--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
Run Code Online (Sandbox Code Playgroud)
宾果,我们现在改变这个文件:
gitlab-runner uninstall
gitlab-runner install --working-directory /home/ubuntu --user ubuntu
Run Code Online (Sandbox Code Playgroud)
重新启动机器或重新加载服务(即systemctl daemon-reload),等等!
Jan*_*uka 11
注册后gitlab-runner(是的,它将安装在用户gitlab-runner和工作目录下/home/gitlab-runner),您可以执行以下命令来更改运行者的用户
gitlab-runner uninstall
Run Code Online (Sandbox Code Playgroud)
gitlab-runner install --working-directory <existing-path> --user <any-existing-user>
# eg: gitlab-runner install --working-directory /home/ec2-user --user ec2-user
Run Code Online (Sandbox Code Playgroud)
然后重新启动服务
service gitlab-runner restart
Run Code Online (Sandbox Code Playgroud)
注意:您不需要
/etc/systemd/system/gitlab-runner.service对此进行编辑,因为一旦服务按上述方式重新启动,它就会更新
要检查配置是否反映,请运行
ps aux | grep gitlab
Run Code Online (Sandbox Code Playgroud)
请注意,使用特定用户(--user)进行安装时,每次更新时,它将恢复为原始的systemd脚本,因此,将恢复为使用gitlab-runner用户。
为了使用户能够在更新之间进行更改,可以使用systemd覆盖(centos7)使用以下步骤(假设服务位于/etc/systemd/system/gitlab-runner.service):
/etc/systemd/system/gitlab-runner.service.d目录。创建一个/etc/systemd/system/gitlab-runner.service.d/exec_start.conf包含以下内容的文件:
[Service]
ExecStart=
ExecStart=/usr/lib/gitlab-runner/gitlab-runner "run" "--working-directory" "/home/ubuntu" "--config" "/etc/gitlab-runner/config.toml" "--service" "gitlab-runner" "--syslog" "--user" "ubuntu"
Run Code Online (Sandbox Code Playgroud)执行 systemctl daemon-reload
现在要检查它是否正常工作,您可以执行以下操作:
重新安装GitLab Runner软件包gitlab-runner uninstall,然后gitlab-runner install
检查ps aux | grep gitlab并确认正在使用正确的用户
来源:https : //gitlab.com/gitlab-org/gitlab-runner/issues/3675
| 归档时间: |
|
| 查看次数: |
29344 次 |
| 最近记录: |