Azure Release Pipeline-仅在VM可用时运行代理程序作业

问题描述 投票:0回答:1

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

BR丹尼斯
azure azure-pipelines azure-pipelines-release-pipeline azure-pipelines-tasks
1个回答
0
投票
Azure发布管道-仅在VM可用时才运行代理作业

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

作为解决方法,我们可以创建一个脚本来检查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'))

希望这会有所帮助。
© www.soinside.com 2019 - 2024. All rights reserved.