1

我想让 Crucible (CodeReview Tool) 与我的 gitlab 集成。因此,除了特殊的“智能”提交命令之外没有直接集成,例如开始审查或链接到 Jira 票证。

但在另一个工具的另一个视频中,我看到了等待管道的想法。所以我偷了这个想法,想把它整合到 Curcible 中:

在管道中,我想开始为给定的 ReviewID 轮询坩埚的 WebAPI,当 Json 中的答案“完成”时,我想成功管道,否则我只想稍后再试......

知道如何通过让跑步者永远跑步并且每 x 秒做一次投票来实现这一点吗?

4

1 回答 1

1

首先,长时间或永远运行的作业将占用运行器,因此请确保您有足够数量的静态运行器或使用基于 Kubernetes 的运行器,它们将为每个作业生成一个专用的 pod。

如果您对长轮询作业没问题,那么您必须通过使用设置覆盖作业规范中的超时设置,让作业超过默认的 60 分钟超时timeout:

参考这里:https ://docs.gitlab.com/ee/ci/yaml/#timeout

此外,您可能需要检查您的跑步者是否也有超时并将其删除,因为您不能超过跑步者超时,如该参考页面所引用的:

作业级超时可以超过项目级超时,但不能超过运行器特定超时

一旦解决了作业超时问题,就可以使用简单的 while 循环对 Crucible API 端点进行轮询。

于 2020-08-21T13:57:47.457 回答