GitLab CI 构建仍在等待中

Posted

技术标签:

【中文标题】GitLab CI 构建仍在等待中【英文标题】:GitLab CI builds remains pending 【发布时间】:2016-04-10 02:47:01 【问题描述】:

我们最近开始在gitlab.com 免费服务上使用 GitLab-CI。 起初一切都很顺利,但现在,我们似乎无法再构建我们的项目了。构建显示为 pending 并且不执行任何操作。

这是我们的构建列表中的内容:

如果我们检查构建的详细信息:

您可能会注意到,在列表中,每个构建都分配给一个运行器 ID,但在详细信息页面中,运行器部分是空白的。

起初,我们以为只是gitlab.com 基础架构造成的延迟,但实际上它只是卡在那里......

编辑

已经超过 1 年了,但我一直收到有关此问题的通知。如果我没记错的话,问题出在 GitLab 本身。遵循 GitLab 文档并确保您的设置是有效的,并希望最好!

【问题讨论】:

会github.com/gitlabhq/gitlab-ci/issues/64#issuecomment-75379083 帮忙吗? 我们不使用自托管的 gitlab,我们使用的是 gitlab.com 提供的一个 @PascalBoutin 我认为更新您的问题以从您的评论中添加额外的信息很重要 【参考方案1】:

如果您正在使用本地 gitlab-runner,例如 macOS 或您制作的自定义运行器,您应该开始手动运行作业。

根据 gitlab 文档中的 topic,您应该根据执行此命令的位置在用户模式或系统模式下手动启动

在终端运行

如果你还没有启动 gitlab-runner

gitlab-runner start 

系统模式执行

sudo gitlab-runner run 

用户模式执行

gitlab-runner run 

【讨论】:

谢谢!我在 Linux 服务器上有自己的 gitlab-runner,但我不明白为什么我的工作卡在等待状态。启动跑步者并实际在服务器上运行作业是我的解决方案。现在想办法让它自动运行任何工作:) 一旦你的 gitlab-runner 启动,作业就会自动运行。 谢谢!,我在 mac 上被卡住了,sudo gitlab-runner run 为我工作【参考方案2】:

我在我的 Windows 机器上遇到了同样的问题。我去事件查看器获取了一些服务日志,发现错误“listen_address not defined”。

我按照以下步骤修复它。

    转到 gitlab 存储库并编辑运行器设置。 您会发现名为“指示此跑步者是否可以选择不带标签的工作”的复选框 确保选中该选项。

它现在对我有用。

【讨论】:

【参考方案3】:

GitLab 已将他们的共享跑步者最大化,但他们刚刚完成了更多的添加。现在 GitLab 有 12 个共享运行器。看看这个问题:https://gitlab.com/gitlab-org/gitlab-foss/issues/5543#note_3130561

更新

GitLab 已迁移到自动缩放 Runners。如果您仍然遇到任何问题,则可能是由于不同的原因。

【讨论】:

仅供参考,我们目前有 18 位共享跑步者。 @JoseTorres 你在 GitLab 工作吗?否则你的答案令人困惑;如果你能澄清一下就好了 @ympostor 是的,好点。我已经编辑了答案,所以它可以独立存在。【参考方案4】:

执行以下步骤后,我的问题得到了解决:

    转到您的项目存储库,单击 CI/CD,然后选择管道。尝试通过单击clear runner caches 删除运行器缓存。

    通过在您注册跑步者的服务器上执行以下步骤来验证、启动和运行您的本地跑步者:

    sudo gitlab-runner verify
    sudo gitlab-runner start
    sudo gitlab-runner run
    

【讨论】:

【参考方案5】:

如果已设置,请尝试清除 Runner 缓存。

转到 CI/CD>>管道>>在顶部 >> 清除 Runner Caches

【讨论】:

以上是关于GitLab CI 构建仍在等待中的主要内容,如果未能解决你的问题,请参考以下文章

让 gitlab 作业不等待“脚本”部分的任何返回

gitlab-runner:管道无限等待

sh 用于清除Akamai缓存并等待任务完成的ci构建的bash脚本

在 Gitlab-CI 中启用并行构建

使用 Asp.Net 发送异步电子邮件但 Page 仍在等待?

QtConcurrent::run => QWaitCondition: 在线程仍在等待时被销毁