如何解决卡住的 Gitlab CI 管道?

How to solve a stuck Gitlab CI pipeline?

我们已经使用 Gitlab CI 几个月了,在过去 1 周,我们一直在使用安装在 VPS 上的特定运行器。目前,我们使用 "shell" 作为执行者。

今天我们的管道突然卡住了,当我们查看服务器空闲 RAM 时,996 MB 中只有 48MB,仅供参考,我们使用的是 CentOS 6。

我们一直在努力寻找答案,但我们现在被困住了,想知道:

  • What's causing the pipeline from getting stuck?
  • is it true because of low free RAM?
  • Should we use another executor, perhaps SSH or even docker?
  • What is the best practices to deal with this kind of problem?

如有任何帮助或指示,我们将不胜感激。

在我的例子中,管道被卡住了,因为唯一可用的 运行ner 有选项“Can 运行 untagged jobs”设置为“No" 并且作业确实没有标记。可以通过更改“Can 运行 untagged jobs”选项或将标签添加到“.gitlab-ci.yml”的适当部分来解决此问题存储库中的文件。在我的例子中是 default:tags:.

部分

(看来你的情况复杂多了,不过我每个月遇到两次这个问题,第二次忘记了决定,所以才来到这个看起来适合保存决定的页面。希望答案对其他人有帮助。)

就我而言,管道因两件事而卡住:

  1. .gitlab-ci.yml中指定的tags与运行器配置中的不匹配。

  2. 如果您在构建命令中指定了模拟器,请确保您编写的模拟器版本正确。

完成这些更改后,一切正常!

祝你好运。