为每个阶段设置时间限制

时间:2018-11-13 09:12:19

标签: azure-devops devops

我创建了一个具有多个阶段的DevOps管道。整个管道需要大量时间才能完成。因此,我想要一种快速的方法来监视管道是否停留在某个阶段,并希望在阶段级别上添加更好的监视。

是否可以在舞台上设置时间限制,超过该时间限制,我将收到通知。不需要取消超过时间限制的阶段,只需通知我即可。

2 个答案:

答案 0 :(得分:1)

您可以为构建步骤设置超时,也可以选中“错误继续”。但是,超时将取消耗时太长的构建步骤,因此它们不会成功完成。这取决于构建步骤/脚本的实现方式。

然后在每个步骤之后添加有条件的构建步骤,以将通知发送到mail / slack / teams / everyever。

一种简单的测试方法是创建一个命令行构建步骤,并添加“ Sleep 120”作为命令。然后将该构建步骤的超时设置为1分钟。

enter image description here

超时在日志中显示: enter image description here

这是构建步骤的日志:  1.回声“开始睡眠”  2.睡120  3.回显“睡眠”

注意,也会打印出睡眠的信息! enter image description here

答案 1 :(得分:0)

似乎无法为阶段设置超时,但是可以为单个座席作业设置超时。这意味着,如果您的阶段仅具有一项代理工作,那么这就是您需要的。如果您的阶段有多个任务,则必须将所需的阶段超时拆分为较小的任务超时。 查看屏幕截图,您可以在此处进行设置。

至于问题的第二部分,不支持这种情况。但是你总是可以作弊。您可以通过多种方法来执行此操作。最简单的选择可能是拥有一个附加代理程序作业,该作业以与您的其他/主作业同时运行的方式触发。在此作业中,您可以让PS脚本在超时时间内一直运行一个循环,如果超时,它将发送一个延迟通知。

enter image description here