You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

配置gitlab-runner实现指定仓库推送后本地执行shell命令报错求解

GitLab Runner getwd: stat .: permission denied 报错排查修复方案

该报错核心原因是gitlab-runner运行身份对工作相关目录缺少必要权限,按以下步骤排查修复即可:

1. 修正主工作目录权限

你安装时指定的runner工作目录为/home/gitlab-runner,先检查该目录归属与权限:

ls -ld /home/gitlab-runner

正常输出的所有者应为gitlab-runner:gitlab-runner,权限不低于700。如果不符合要求,执行以下命令修正:

sudo chown -R gitlab-runner:gitlab-runner /home/gitlab-runner
sudo chmod 700 /home/gitlab-runner

2. 修正构建、缓存目录权限

Runner运行时会自动在工作目录下创建builds(存储仓库代码)、cache(存储构建缓存)两个子目录,检查这两个目录的权限:

ls -ld /home/gitlab-runner/builds /home/gitlab-runner/cache

如果权限或归属异常,执行命令修正:

sudo chown -R gitlab-runner:gitlab-runner /home/gitlab-runner/{builds,cache}
sudo chmod -R 755 /home/gitlab-runner/{builds,cache}

3. 修正启动方式

手动执行gitlab-runner run命令时,如果当前所在目录gitlab-runner用户无访问权限(比如你在/root目录下执行启动命令),也会触发该报错。建议直接用系统服务管理runner,不要手动启动:

# 终止手动运行的runner进程
sudo pkill gitlab-runner
# 配置服务开机自启并启动
sudo systemctl enable gitlab-runner
sudo systemctl start gitlab-runner
# 确认服务运行状态
sudo systemctl status gitlab-runner

4. 修正配置文件权限

检查runner全局配置文件的读取权限:

sudo chown root:gitlab-runner /etc/gitlab-runner/config.toml
sudo chmod 640 /etc/gitlab-runner/config.toml

以上操作完成后重新推送代码触发流水线即可恢复正常。

内容的提问来源于stack exchange,提问作者Yes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 22:27:05