是否可以在任务或条件循环之间放置延迟

Gre*_*ian 8 tfs tfsbuild azure-devops

是否可能在构建或发布管道中的运行任务之间循环或延迟?我将容器部署为这些管道的一部分,并且它们需要时间来启动并可用于webtests,因此我无法在发布任务后立即运行webtest.什么可以解决TFS或VSTS内的这些要求?

Dan*_*ann 15

将一个内联的PowerShell任务放在运行的位置Start-Sleep -Seconds 10或者您想要等待多长时间.

或者更好的是,编写自己的脚本来轮询容器的可用性.

  • 该解决方案在功能上有效,如果延迟是几秒钟,并且可能是最佳选择,但对于任何更长的延迟(分钟以上),需要记住的一件事是,这会使代理远离您的池,而该代理不会做任何有用的事情。对于如此长的延迟,无代理作业/阶段方法(在 smoksnes 的答案中)可能是对池资源的更好利用,即使管道的恢复意味着重新下载源/工件/等。 (4认同)

smo*_*nes 8

您可以添加一个Agentless阶段并在其中放置一个Delay任务。那么您的构建将延迟 X 分钟。然后您可以使用agent phase. 只需确保Run this phase在阶段之间配置或设置依赖项即可。这适用于 TFS 和 Azure Devops 服务器。

在此处输入图片说明