我想在Azure Release Pipeline中创建一个代理作业任务,该任务仅在受影响的 VM 启动并运行时运行。我查看了“Azure 管道条件”,但似乎没有“检查服务器状态”之类的东西。也没有找到用于检查 VM 状态的任务模板。因此,我无法事先创建输出变量并在条件下使用 THIS。提前非常感谢!
BR丹尼斯
我想在Azure Release Pipeline中创建一个代理作业任务,该任务仅在受影响的 VM 启动并运行时运行。我查看了“Azure 管道条件”,但似乎没有“检查服务器状态”之类的东西。也没有找到用于检查 VM 状态的任务模板。因此,我无法事先创建输出变量并在条件下使用 THIS。提前非常感谢!
BR丹尼斯
Azure 发布管道 - 仅在 VM 可用时运行代理作业
确实,正如您所知,目前没有这样的条件或任务来检查 VM 状态。
作为解决方法,我们可以创建一个脚本来检查 VM 状态,例如 powershell:
PS C:\> Get-VM -ComputerName Server1 | Where-Object {$_.State -eq 'Running'}
然后,根据 VM 状态设置具有不同值的变量:
Write-Output "##vso[task.setvariable variable=VMIsRunning]True"
或者
Write-Output "##vso[task.setvariable variable=VMIsRunning]Flase"
并在构建管道的后续步骤中添加自定义条件:
and(succeeded(), eq(variables['VMIsRunning'], 'True'))
希望这可以帮助。