GitLab集成GitLab-Runner详细版--及注意事项汇总【最佳实践】

一、背景

    看到网上很多用户提出的runner问题其实实际都不是问题,不过是因为对runner的一些细节不清楚导致了误解。本文不系统性的介绍GitLab-Runner,因为这类文章写得好的特别多,本文只汇总一些常几的问题/注意事项。旨在让新手少弯路。

二、环境

- GitLab 16.11.10   官方下载地址:GitLab 16.11.10

- GitLab-Runner 16.11.4  官方下载地址:GitLab-Runner 16.11.4

- Docker Desktop 4.37 容器图形化工具  官方下载地址:Docker Desktop 4.37

特别说明

Docker Desktop仅仅是Windows下镜像用,如有能爬楼的服务器或是非容器化安装可不安装此软件

三、GitLab准备

略。这里假设已经有了GitLab环境。本文只讲Runner集成。GitLab的安装下载包见上面的环境章节

四、GitLab-Runner下载

读者可根据实际需求选择rpm包或是镜像

- rpm包下载链接见上面的环境章节

- 镜像包请在服务器上下载或windows本地安装Docker Desktop下载

作者本文以rpm包为例

gitlab-runner-16.11.4-1.x86_64.rpm

五、GitLab-Runner安装/卸载

rpm命令安装,需要root用户,或其他用户sudo安装

rpm -ivh gitlab-runner-16.11.4-1.x86_64.rpm
# 卸载
yum erase gitlab-runner -y 

特别注意【扫雷】

1、这里安装完会自动创建gitlab-runner用户

2、即时修改gitlab-runner用户的密码,避免一些安全扫描问题,特别是对安全抓得比较严的公司

linux密码修改命令

passwd <用户名>

3、root安装(含sudo)和非root安装配置文件所在目录是不一样的

4、查看配置文件路径命令

gitlab-runner list

5、root安装

需要在服务器的gitlab runner上运行测试脚本, 故希望自动化测试软件能够提供一个网络接口,用于加载脚本/运行脚本/监控进度/获取结果。 1. 接口形式: 以上位机方便开发为准,通信协议可以选择如下几种情况之一或其他任意可描述的协议 1) web REST接口(runner中使用curl发HTTP请求与自动化测试软件交互), 请求body中填充xml或json 2) 698接口(runner中运行一个自己写的控制程序) 2. 网络 自动化测试软件做服务器, runner做客户端。原则上, 同时只会有一个runner连接至自动化测试软件,故自动化测试软件可以仅支持一个客户端, 但应当注意,如果仅支持一个时, 要保留的应当是最后连接的客户端, 即: 如果已经有客户端A连接, 此时又来一个新连接, 应当关闭最早的连接, 并接受新连接。 3. 需要支持的功能 1) 打开软件后的登录, 进入主界面 2) 通讯->通讯配置(主要是选择服务器模式, 修改端口号,以及打开和关闭监听端口,检查是否有终端登录) 3) 通讯->读取终端地址(更新终端地址到界面, 并返回当前终端地址的值) 4) 自动化测试->加载方案(传入加载路径,返回加载成功/失败) 5) 自动化测试->全选方案 6) 自动化测试->执行选中 7) 自动化测试->取消执行(注意取消成功后再返回, 不要先返回再去执行取消) 8) 自动化测试->详细报告、自动化测试->汇总报告 (传入存储路径, 返回报告保存路径) 9) 自动化测试->监控进度(获取当前执行状态) 至少包含: a. 当前执行状态(可以根据你代码里的状态来修改): 未开始, 执行中, 已暂停, 执行成功, 执行失败 b. 当前执行到的步骤的信息(当前执行到的步骤, 那一行显示的内容, 如果全做比较难, 那可以只挑几个关键信息, 能看出来在测啥就行) c. 当前执行进度(含当前执行到第几步和总共多少步) 10) 自动化测试->获取结果: 获得当前测试的结果(未开始/执行中/成功/失败)
08-13
### Helm安装GitLab Runner时的报错问题及重新部署方法 在使用Helm安装GitLab Runner时,如果遇到报错问题,可以按照以下方式排查和重新部署。首先,确保删除之前失败的安装记录,并清理相关资源。然后根据需求重新配置并部署GitLab Runner。 #### 1. 删除失败的安装记录 使用以下命令删除失败的Helm释放(release): ```bash helm uninstall gitlab-runner -n gitlab-runner ``` 此命令会删除与`gitlab-runner`相关的所有Kubernetes资源[^1]。 #### 2. 清理残留资源 有时即使删除了Helm释放,仍然可能有残留的Kubernetes资源存在。可以通过以下命令检查并手动清理: ```bash kubectl get all -n gitlab-runner ``` 如果发现仍有资源存在,可以逐个删除它们: ```bash kubectl delete pod <pod-name> -n gitlab-runner kubectl delete svc <service-name> -n gitlab-runner ``` 此外,还需检查是否有ConfigMap或Secret残留: ```bash kubectl get configmap -n gitlab-runner kubectl get secret -n gitlab-runner ``` 若有残留,同样需要手动删除。 #### 3. 重新部署GitLab Runner 在确保环境清理干净后,可以重新部署GitLab Runner。以下是完整的Helm安装命令示例: ```bash helm install gitlab-runner \ --namespace=gitlab-runner \ --create-namespace \ --set gitlabUrl=https://gitlab.example.com \ --set runnerToken=glrt-p3LfPnBwy6pdVjnj1Mmx \ --set certsSecretName=gitlab-runner-certs \ --set rbac.create=true \ --set rbac.clusterWideAccess=true \ gitlab/gitlab-runner ``` 在此过程中,确保提供的参数(如`gitlabUrl`和`runnerToken`)正确无误。 #### 4. 添加污点容忍配置(可选) 如果需要将GitLab Runner调度到特定节点,可以为节点添加污点,并修改ConfigMap以包含污点容忍配置: ```bash kubectl taint node node1 runner=gitlab-runner-only:NoSchedule ``` 随后编辑ConfigMap文件,添加如下内容: ```toml [runners.kubernetes.node_tolerations] "runner=gitlab-runner-only" = "NoSchedule" ``` 保存后应用更改[^3]。 #### 5. 验证部署 使用以下命令验证GitLab Runner是否成功部署: ```bash kubectl get pods -n gitlab-runner ``` 如果Pod状态为`Running`,说明部署成功[^4]。 #### 6. 调试常见问题 如果再次遇到报错,可以使用以下命令查看详细错误信息: ```bash kubectl describe pod <pod-name> -n gitlab-runner ``` 或者查看Pod日志: ```bash kubectl logs <pod-name> -n gitlab-runner ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

飞火流星02027

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值