【无标题】

gitlab runner配置

runner使用背景

对于我们项目开发来说,为了防止主项目被污染,在多人协作开发的时候,要fork一个子项目到自己的工作目录下,切分支然后进行修改之后,再从当前项目中提一个merge request到主项目中,主项目merge负责人觉得没问题的时候,再进行主项目分支和合并。

对于一个开发小组来说,利用gitlab的CI CD帮助我们做代码风格的检查,镜像的打包是一件非常方便的事情。而想通过使用CI CD的话,则需要配置runner。一般来说,我们都会配置一个公共的runner来供一个开发小组去使用。

而在新人加入一个用户组根据主项目fork出来的项目的时候,并没有看到主项目所配置的runner。需要给新人赋予主项目的maintainer权限时候才能看到对应的runner,并且回收掉maintainer权限时候runner依然存在,不影响后续使用。对于这种runner的配置方式感到繁琐且不符合规范,maintainer权限不能够随便赋予他人,而应当赋予开发者的权限。这里探讨有没有一种规范且方便的赋予runner的方法。

runner使用需求

配置的runner希望能够被所有人使用,因为涉及到代码风格检查,镜像打包上传等公共操作
方便配置

三种runner类型

官方描述:https://docs.gitlab.com/ee/ci/runners/runners_scope.html

Shared runners are available to all groups and projects in a GitLab instance.
Group runners are available to all projects and subgroups in a group.
Specific runners are associated with specific projects. Typically, specific runners

OPM specific runner配置

由于权限原因,共享runner需由管理员配置,群组runner需由群组的owner配置,作为developer,我们可以选择配置specific runner,下面介绍OPM项目的specific runner配置过程。

安装和配置过程可参考此文章:gitlab runner安装与使用

gitlab runner执行权限问题

按照上面文章教程配置好gitlab runner后,在提交代码进行测试时发现runner的执行权限有问题,无法进入其他用户目录或者无法使用root用户安装的软件,通过下面命令查看runner当前执行用户。

ps aux|grep gitlab-runner

如下图所示,可以看到当前执行用户为gitlan-runner:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HElWJLM7-1681798269010)(http://blog.sway.com.cn/wp-content/uploads/2023/01/image-11.png)]

编辑/etc/systemd/system/gitlab-runner.service文件,并修改–user后的参数为root:


重启gitlab-runner

systemctl daemon-reload

systemctl restart gitlab-runner
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值