我想分享另一种方法来检查变量值是否为空。
根据我的测试,条件可以得到队列变量。
您可以在带有条件的管道作业中检查变量是否为空。
这是 Yaml 示例:</p>
steps:
- task: PowerShell@2
inputs:
targetType: 'inline'
script: Write-Host "##vso[task.setvariable variable=Release;]Stage"
condition: or(eq(variables['Test'],''), eq(variables['Test'], 'undefined'))
- task: PowerShell@2
inputs:
targetType: 'inline'
script: Write-Host "##vso[task.setvariable variable=Release;]Test"
condition: and(ne(variables['Test'],''), ne(variables['Test'], 'undefined'))
- script: echo $(Release)
' ' 或 Empty -> Release: Stage
非空 -> 发布:测试
更新:
如果还想在if表达式中使用队列变量,可以在yaml中定义一个变量,用它来获取队列变量的值进行判断。
这是示例:
variables:
- name: aaa
value: $[variables.test]
- name: Release
${{ if or(eq(variables['aaa'],''), eq(variables['aaa'], 'undefined')) }}:
value: 'Stage'
${{ if and(ne(variables['aaa'],''), ne(variables['aaa'], 'undefined')) }}:
value: 'Test'