树莓派GitLab Runner无法运行CI/CD作业求助
树莓派GitLab Runner作业失败问题分析与解决
问题背景
已在树莓派上搭建GitLab Runner,完成私有GitLab服务器注册并启动,使用的.gitlab-ci.yml脚本如下:
stages: - test test-job: stage: test tags: - raspberrypi script: - echo "This job tests something" - ls -l
注册命令:
gitlab-runner register --url https://xxx-test.test.lt --token glrt-sauNM8P5zjAZY-C8HYWL
启动命令:
gitlab-runner run
错误现象
作业执行失败,核心报错:
mkdir: cannot create directory ‘/home/gitlab-runner/builds/sauNM8P5z’: Permission denied
Runner日志中明确提示WARNING: Running in user-mode,表明当前以普通用户lukas启动Runner,而非系统服务模式。
原因分析
- 权限不足:
/home/gitlab-runner目录默认属于gitlab-runner系统用户,当前以lukas用户启动Runner,没有权限在该目录下创建builds子目录。 - 运行模式错误:GitLab Runner推荐以系统服务模式(root权限)运行,用户模式下会遇到文件权限、资源访问等诸多限制。
解决方案
- 停止当前用户模式的Runner:直接终止正在运行的Runner进程
pkill gitlab-runner - 切换为系统服务模式启动:使用
sudo以系统服务方式启动Runner,自动使用gitlab-runner系统用户运行,拥有正确权限
若需设置开机自启:sudo gitlab-runner runsudo gitlab-runner install sudo gitlab-runner start - 手动修复目录权限(可选):如果目录权限已混乱,可手动重置
sudo chown -R gitlab-runner:gitlab-runner /home/gitlab-runner
内容的提问来源于stack exchange,提问作者TheBestPlayer
相关产品推荐
相关产品推荐

