GitLab CI管道等待外部工具

GitLab CI管道等待外部工具,gitlab,atlassian-crucible,Gitlab,Atlassian Crucible,我想让Crucible(CodeReview工具)与我的gitlab集成。 因此,除了特殊的“智能”提交命令(例如,开始审查或链接到Jira票据)之外,没有直接集成 但在另一个工具的视频中,我看到了等待管道的想法。所以我偷了这个想法,想把它整合到Curcible中: 在管道中,我想开始轮询crucible的WebAPI以获得给定的ReviewID,当Json中的答案“完成”时,我想成功完成管道,否则我只想稍后再试 你知道如何通过让一个跑步者永远运行并每x秒进行一次轮询来实现这一点吗?首先,拥有一

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

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

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


你知道如何通过让一个跑步者永远运行并每x秒进行一次轮询来实现这一点吗?

首先,拥有一个运行很长时间或永远运行的作业将占用跑步者,因此确保你有足够数量的静态跑步者,或者使用基于Kubernetes的跑步者,为每个作业生成一个专用的pod

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

此处参考:

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

作业级别超时可以超过项目级别超时,但不能超过特定于运行程序的超时

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