Azure Release Pipeline - 如果 VM 可用,则只有 运行 个代理作业

Azure Release Pipeline - Only run agent job if VM is available

我想在 Azure Release Pipeline 中创建一个 代理作业任务,如果 运行受影响的 VM 已启动并且 运行ning。 我偷看了'Azure Pipeline Conditions',但似乎没有'checking for server status'这样的东西。 也没有找到用于检查虚拟机状态的任务模板。因此我不能事先创建一个 输出变量 并在条件下使用 THIS 。 非常感谢!

BR 丹尼斯

Azure Release Pipeline - Only run agent job if VM is available

的确,如您所知,目前不存在检查虚拟机状态的条件或任务。

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

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

Get-VM

然后,根据虚拟机状态设置不同值的变量:

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

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

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

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

希望对您有所帮助。