记一次 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
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值