如何在RHEL服务器上修改GitLab Runner的构建目录?
修改GitLab Runner的Git默认初始化目录(RHEL系统)
方法1:全局修改Runner配置(所有项目生效)
GitLab Runner的默认构建目录由核心配置文件控制,通过修改config.toml可全局指定新的构建根目录:
- 编辑Runner配置文件:
vi /etc/gitlab-runner/config.toml - 在目标Runner的
[[runners]]区块中添加或修改builds_dir字段,指向你的目标目录:[[runners]] name = "你的Runner名称" url = "你的GitLab实例地址" token = "你的Runner令牌" executor = "shell" # 适配你实际使用的执行器(shell/docker等) builds_dir = "/home/new_build" # 可选:同步修改缓存目录,添加以下配置 cache_dir = "/home/new_build/cache" - 重启GitLab Runner服务使配置生效:
systemctl restart gitlab-runner - 修复目录权限:确保
gitlab-runner用户对目标目录有读写权限chown -R gitlab-runner:gitlab-runner /home/new_build chmod -R 755 /home/new_build
方法2:项目级指定克隆路径(仅当前项目生效)
如果仅需针对单个项目调整克隆目录,可在项目的.gitlab-ci.yml中通过GIT_CLONE_PATH变量指定:
variables: # 加入项目唯一标识避免多项目冲突($CI_PROJECT_PATH_SLUG是GitLab内置变量) GIT_CLONE_PATH: /home/new_build/$CI_PROJECT_PATH_SLUG
该配置会让Runner将代码克隆到/home/new_build/项目标识目录下,而非默认路径。
关键注意点
- 单独设置
GIT_DIR无效的原因:GIT_DIR仅控制Git仓库核心.git文件夹的位置,而非代码克隆的根目录,不符合你的需求。 - 权限是核心前提:无论哪种方法,必须保证
gitlab-runner用户对/home/new_build目录有完整的读写权限,否则会出现克隆失败、构建报错。 - 验证配置:修改完成后手动触发一次流水线,通过流水线日志或登录服务器查看
/home/new_build下是否生成了项目代码目录。
内容的提问来源于stack exchange,提问作者Santosh Sahu
相关产品推荐
相关产品推荐

