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'}
然后,根据虚拟机状态设置不同值的变量:
Write-Output "##vso[task.setvariable variable=VMIsRunning]True"
或
Write-Output "##vso[task.setvariable variable=VMIsRunning]Flase"
并在构建管道的后续步骤中添加自定义条件:
and(succeeded(), eq(variables['VMIsRunning'], 'True'))
希望对您有所帮助。
我想在 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'}
然后,根据虚拟机状态设置不同值的变量:
Write-Output "##vso[task.setvariable variable=VMIsRunning]True"
或
Write-Output "##vso[task.setvariable variable=VMIsRunning]Flase"
并在构建管道的后续步骤中添加自定义条件:
and(succeeded(), eq(variables['VMIsRunning'], 'True'))
希望对您有所帮助。