我已经设置了一个具有运行状况检查阶段的管道。这是一个webhook阶段,它将命中自定义服务器中端点。此服务器将检查已部署应用程序的运行状况,如果已准备就绪,则返回200,如果未就绪,则返回500。
此阶段当前的超时时间为10分钟,并通过执行选项中的以下值进行配置:timeout configuration,也可以用以下命令描述为json:
"overrideTimeout": true,
"stageTimeoutMs": 600000, // 10 minutes但是阶段仍然在5分钟后失败(加上1到9秒,我相信这是重试所需的时间)。
如果我将stageTimeoutMs降低到小于300000 (少于5分钟),它会按预期工作,但增加它不会。是否还有其他需要全局配置以允许webhook阶段超过5分钟的内容?
顺便说一句,流水线本身可以在这之后继续(证明这不是流水线超时,但特别是这个阶段),手动判断阶段(和其他一些类型)可以愉快地超过5分钟,只是webhook失败了。
我目前正在使用Spinnaker 1.19.13
发布于 2021-02-26 04:45:43
看起来500作为对webhook端点的响应将导致它在“创建Webhook”任务中卡住,这似乎真的将超时硬编码为5分钟。通过将端点更改为在$.status ( statusJsonPath)上返回202和一个有意义的字符串,我能够使它通过"Create Webhook“任务并启动"Monitor Webhook”任务,该任务可以覆盖其超时。
我认为这表明Spinnaker方面缺乏文档和不太直观的行为,但解决方案看起来并不老套。如果人们正面临着类似的问题,希望这能有所帮助。
https://stackoverflow.com/questions/66146031
复制相似问题