GitLab Runner以服务运行时未创建工作目录,构建资产无法找到
GitLab Runner服务模式无构建资产问题排查与解决
核心原因
你在服务启动命令里指定了--working-directory /home/gitlab-runner,但这个目录根本不存在,GitLab Runner不会自动创建工作目录。服务启动后,runner进程因找不到工作目录,构建流程直接异常中断,自然生成不了构建资产。
而你非服务模式运行时用的是build_user用户,runner会自动在该用户的home目录下生成builds子目录存放构建文件,所以能正常看到结果。
解决步骤
创建工作目录并配置权限
手动创建指定目录,确保gitlab-runner用户拥有完整读写权限:sudo mkdir -p /home/gitlab-runner sudo chown gitlab-runner:gitlab-runner /home/gitlab-runner sudo chmod 755 /home/gitlab-runner重启服务并验证状态
重启gitlab-runner服务,确认它能正常运行:sudo systemctl restart gitlab-runner sudo systemctl status gitlab-runner检查构建日志排查异常
如果问题依旧,查看runner日志确认是否还有其他权限或路径错误:sudo gitlab-runner logs可选:改用现有有效路径
要是不想用/home/gitlab-runner,也可以修改服务启动命令,把--working-directory改成非服务模式下的有效路径(比如/home/build_user/builds),但得先给gitlab-runner用户授权:sudo chown -R gitlab-runner:gitlab-runner /home/build_user/builds之后更新服务配置(比如systemd的service文件)替换对应参数即可。
内容的提问来源于stack exchange,提问作者tyleax
相关产品推荐
相关产品推荐

