关于 gitlab CI/CD 的执行用户的问题

2021-01-18 09:41:36 +08:00
 IurNusRay

有带哥用过 gitlab 的 CI/CD 功能吗,为什么我安装 runner 的时候指定了以 ubuntu 这个用户执行,但是实际部署时,偶尔会发生它用 gitlab-runner 这个用户去执行部署脚本呢(权限不足会导致失败),关键是大部分时候都是正常的,实在想不通

1054 次点击
所在节点    问与答
9 条回复
julyclyde
2021-01-18 12:37:30 +08:00
偶尔?
ETiV
2021-01-18 13:01:00 +08:00
重启一下运行 runner 的机器,再试试看
IurNusRay
2021-01-18 13:31:28 +08:00
@julyclyde 是的,大部分情况下都是用我配置的 ubuntu 用户去执行部署命令,但是偶尔会出现用 gitlab-runner 这个用户去执行,没什么规律
IurNusRay
2021-01-18 13:31:53 +08:00
@ETiV 我有试过删除旧的 runner 重新安装,还是一样
matrix67
2021-01-18 13:37:18 +08:00
看下 systemd 的配置中,是咋配置的。

[Unit]
Description=GitLab Runner
After=syslog.target network.target
ConditionFileIsExecutable=/usr/local/bin/gitlab-runner

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

Restart=always
RestartSec=120

[Install]
WantedBy=multi-user.target


------------------

直接命令行执行,也可以加是哪个用户的 --user

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

可以加上--debug 看下。
IurNusRay
2021-01-18 13:57:16 +08:00
@matrix67 我在 run 的时候是特别加了 working-directory 和 user 的配置的,下面是 systemd 的配置
IurNusRay
2021-01-18 13:57:30 +08:00
[Unit]
Description=GitLab Runner
After=syslog.target network.target
ConditionFileIsExecutable=/usr/bin/gitlab-runner

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





Restart=always
RestartSec=120

[Install]
WantedBy=multi-user.target
matrix67
2021-01-18 14:10:39 +08:00
@IurNusRay #7 是用 systemd 的时候,一定要设置为 root 。 我那时候好像是这样的,不知道现在改了没
你可以看看这个 https://gitlab.com/gitlab-org/gitlab-runner/-/issues/1121 里面好像有个 workaround
IurNusRay
2021-01-18 14:45:45 +08:00
@matrix67 谢谢,我看这里面给出的方法是去改 gitlab-runner.server 里面 user 配置,先试试看

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/745783

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX