Azure发布管道-仅在VM可用时运行代理作业

时间:2020-05-13 14:12:54

标签: azure azure-pipelines azure-pipelines-release-pipeline azure-pipelines-tasks

我想在 Azure发布管道中创建一个 agent作业任务,该任务仅在受影响的VM已启动并正在运行时才运行。 我看了'Azure Pipeline Conditions',但是似乎没有'检查服务器状态'之类的东西。 还没有找到用于检查VM状态的任务模板。因此,我无法事先创建输出变量并在某种情况下使用THIS。 提前非常感谢!

BR 丹尼斯

1 个答案:

答案 0 :(得分:1)

Azure发布管道-仅在VM可用时才运行代理作业

确实,正如您所知道的,目前没有这种条件或任务可以检查VM状态。

作为解决方法,我们可以创建脚本来检查VM状态,例如powershell:

PS C:\> Get-VM -ComputerName Server1 | Where-Object {$_.State -eq 'Running'}

Get-VM

然后,根据VM状态将变量设置为不同的值:

Write-Output "##vso[task.setvariable variable=VMIsRunning]True"

Write-Output "##vso[task.setvariable variable=VMIsRunning]Flase"

并在构建管道的后续步骤中添加自定义条件:

and(succeeded(), eq(variables['VMIsRunning'], 'True'))

希望这会有所帮助。

相关问题