Debian注册gitlab-runner,及常见错误的解决

今天在工作中遇到需要创建Linux debian的runner,官网参考link:Registering runners | GitLab

注册runner

下载

curl -LJO https://s3.amazonaws.com/gitlab-runner-downloads/main/deb/gitlab-runner_amd64.deb

安装

dpkg -i gitlab-runner_amd64.deb

注册

gitlab-runner register

安装自己的需求填写,本地执行选择shell,容器执行选择docker

设置git的长久用户

输入命令后,正常填写登录即会自动记录保存

git config --global credential.helper store

运行pipeline

gitlab-ci.yml

stages:          
  - build


build-sjob: 
  stage: build
  script:
    - echo "hello word"
  tags:
    - share # 刚刚创建的runner tag

运行:下面是我两个项目的pipeline跑的结果,都是报错

​
Running with gitlab-runner 17.1.0~pre.219.g13f6ac18 (13f6ac18)

2 on linux_share_runner XXXXX,.XXXXXXXXX,XXXXX

3Preparing the "shell" executor00:00

4Using Shell (bash) executor...

6Preparing environment00:00

7Running on peropero...

9Getting source from Git repository00:00

10mkdir: cannot create directory ‘/root’: Permission denied

12Cleaning up project directory and file based variables00:01

13rm: cannot remove '/root/gitlab_runner_build/JFgRAjyu/0/unity-packages/chongxi-test.tmp/CI_SERVER_TLS_CA_FILE': Permission denied

15ERROR: Job failed: exit status 1

​

​
Preparing the "shell" executor00:00

4Using Shell (bash) executor...

6Preparing environment00:00

7Running on peropero...

9Getting source from Git repository00:00

10mkdir: cannot create directory ‘/root’: Permission denied

12Uploading artifacts for failed job00:00

13mkdir: cannot create directory ‘/root’: Permission denied

15Cleaning up project directory and file based variables00:00

16rm: cannot remove '/root/gitlab_runner_build/JFgRAjyu/0/MpGroup/mp2.tmp/CI_SERVER_TLS_CA_FILE': Permission denied

​

解决错误

原因:因为安装gitlab-runner构建机时默认会将用户设置为:gitlab-runner,该设置会使编写.gitlab-ci.yml的脚本,操作带来一些权限上的问题。

解决方法:权限需要将gitlab-runner构建机上的默认用户设置为root。

1、查看gitlab-runner进程:ps aux|grep gitlab-runner 可以查看到gitlab-runner的工作目录和默认用户等一系列相关信息。

2、卸载gitlab-runner默认用户:sudo gitlab-runner uninstall

3、将用户设置为root:gitlab-runner install --working-directory /home/gitlab-runner --user root

4、重启服务:systemctl restart gitlab-runner.service

5、再次查看gitlab-runner进程:ps aux|grep gitlab-runner
重新运行pipeline就OK了

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值