GitLab Runner正确使用及CI/CD部署相关问题咨询
GitLab CI/CD Runner问题解决指南
一、whoami输出root且文件未创建的问题
1. 切换Runner执行用户为ubuntu
GitLab Runner默认以注册时的用户(通常是root)运行,要改为ubuntu用户:
- 编辑Runner配置文件:
sudo nano /etc/gitlab-runner/config.toml - 在对应Runner的
[[runners]]块中添加一行:user = "ubuntu" - 重启Runner服务:
sudo gitlab-runner restart
2. 解决文件未创建的问题
流水线执行时的工作目录是临时目录,任务结束后会被自动清理,要在指定位置创建文件需写绝对路径:
script: - whoami - echo "123" > /home/ubuntu/123.txt
同时确保ubuntu用户对目标目录(比如/home/ubuntu)有写入权限。
二、绑定Runner到指定仓库,避免共用
1. 标记Runner为项目专属
- 登录GitLab,进入目标项目的设置 > CI/CD > Runners
- 找到已注册的Runner,点击编辑按钮:
- 取消勾选「Run untagged jobs」,防止无tag的任务使用该Runner
- 为Runner添加专属标签,比如
my-project-deploy
- 保存修改
2. 在流水线配置中指定标签
在项目的.gitlab-ci.yml里,给任务添加对应的tags,这样只有带该标签的Runner会执行任务:
deploy_job: tags: - my-project-deploy script: - whoami - echo "123" > /home/ubuntu/123.txt
3. 调整已注册的共享Runner
如果之前注册的是共享Runner,可在GitLab管理中心 > Runners中,将其分配给特定项目,或限制仅运行带指定标签的任务,避免其他项目调用。
内容的提问来源于stack exchange,提问作者hhrzc
相关产品推荐
相关产品推荐

