是否可以在构建或发布管道中的运行任务之间循环或延迟?我将容器部署为这些管道的一部分,它们需要时间来启动并可用于 Web 测试,因此我无法在发布任务之后立即运行 Web 测试。 TFS 或 VSTS 中可以通过什么解决方案来满足此要求?
放置一个内联 PowerShell 任务,运行
Start-Sleep -Seconds 10
或您想要等待的时间。
或者更好的是,编写自己的脚本来轮询容器的可用性。
如 smoksnes 的回答所示的发布任务,Delay agentless 任务也可以在 Azure DevOps YAML(构建)管道中使用。这是一个例子:
pool: server
steps:
- task: Delay@1
inputs:
delayForMinutes: '5'
请注意,
pool: server
是这里的关键。它使该任务无需代理即可运行。 ADO 提供了其中一些无代理任务,例如,如果您需要的延迟不一致,则手动验证可能会很有用。
我使用 PoweShell 脚本来调用我的站点,以便它在继续之前将其唤醒。我的网站很大,所以必须增加超时时间。只需使用类似这样的内容创建一个 PowerShell 步骤...
Invoke-WebRequest -Uri“https://yoursite.com/default.aspx”-UseBasicParsing -TimeoutSec 300