记一次 Gitlab CI/CD 取消 job 后后续任务 pending 的解决

一、问题背景

问题环境

  • gitlab: GitLab Enterprise Edition 11.4.12-ee
  • gitlab-runner: 13.11.0 (7f7a4bb0)

重现步骤

  1. 触发 gitlab ci,将 running 状态下的 job cancel
  2. 重新触发 gitlab ci,发现 job 状态为 pendding.

熟悉 gitlab 的同学可能一眼就能发现问题了,简单来说就是,runner 版本太新了。

二、问题排查

1. 登录 runner 所在服务器,查看 log,获取线索

从日志来看,runner 收到了 job cannel 的消息,也停止了 job,但后续,runner 提交 job 状态给 gitlab 失败,一直重试…
在这里插入图片描述

2. 尝试重启 runner 服务,看 pending 任务是否能够变为 running

重启 runner 后,pending 的 job 变为了 running,万能的重启大招啊,但重启只能一时爽,如果想要一直爽,那不就一直…
不行,不行,受不了~
在这里插入图片描述

3. 将 WARNING 日志放到网上所搜

找到一个类似的案例
在这里插入图片描述
结合公司 gitlab 版本查看,很幸运,版本正如上图所述,低于 11.5
在这里插入图片描述

三、解决办法

1. 升级 GitLab 版本

这个方案有权限、不怕跑路的小伙伴可以试试。

2. 降级 Runner

  • 查询 gitlab 发布历史,公司使用的版本的发布时间应该在2019年
    https://gitlab.com/gitlab-org/gitlab/-/blob/master/changelogs/archive-11.md#1149-2018-12-03
  • 查询 gitlab-runner 发布历史,查找 2019 年相应的 gitlab-runner,选择 v11.11.2 进行尝试
    https://gitlab.com/gitlab-org/gitlab-runner/-/releases?after=eyJpZCI6IjgxMjAxNSJ9
  • 重试复现步骤, cancel job,再新建 job,pending 变为了 running,问题解决
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当你发送一个请求到`/browser/perfData`并且它一直处于"pending"状态时,这可能有几个原因导致: 1. 服务器响应延迟:服务器可能在处理其他请求或执行某些任务,导致响应时间较长。在这种情况下,你可以等待一段时间,看看是否会得到响应。 2. 网络连接问题:可能存在网络连接问题,导致请求无法到达服务器或从服务器返回。你可以检查你的网络连接是否正常,尝试刷新页面或重新发送请求。 3. 请求被阻塞:请求可能被服务器或中间件阻塞。这可能是由于服务器配置、安全策略、资源限制等原因导致的。你可以联系服务器管理员或开发团队,了解是否有任何阻塞请求的配置或限制。 4. 请求处理时间过长:如果请求需要处理大量数据或执行复杂的操作,可能需要一些时间来完成。这取决于服务器性能和负载情况。你可以等待一段时间,看看是否会得到响应。 5. 代理配置问题:如果你的请求需要经过代理服务器,可能存在代理配置问题导致请求无法正确转发或返回。确保代理服务器配置正确,并与相关管理员或开发团队联系以解决问题。 如果问题仍然存在,建议检查服务器端的日志和错误消息,以获取更多关于请求处理过程中发生的问题的信息。另外,提供更多的上下文信息,例如请求代码、服务器配置等,有助于更准确地定位问题所在。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值