我对天蓝色管道有点陌生,目前我无法解决这个问题。 我的天蓝色管道中存储了一个变量:ENABLE_BUILD,并且该值设置为 YES。
在我的 yaml 文件中,我设置了如下变量:
variables:
- group: my-var-group
- name: enableBuild
value: '$(ENABLE_IDB)'
- name: buildPath
${{ if eq(variables['enableBuild'], 'YES') }}:
value: 'path/build-file.jar*'
${{ else }}:
value: '.'
现在我的问题是:enableBuild 正在获取正确的值,即“是”。 但是当我尝试设置 buildPath 变量时,它总是会转到 else 语句,即使我的 ENABLE_IDB 填充为 YES。
当我使用 echo 时,enableBuild 正在获取“YES”值,而 buildPath 正在获取“.”值。价值。在互联网上查看,我无法确定我的 if equals 语句有什么问题。我正在以正确的方式进行此验证吗?谢谢。
发生这种情况是因为编译时变量与运行时变量有关,虽然在这里您在编译时引用
enableBuild
变量,但 enableBuild
的值是在运行时获取的(因为它尝试访问名为 ENABLE_IDB
的环境变量)
)。
你到底想做什么?这个
ENABLE_IDB
应该手动设置吗?
您可以从参数获取它:
parameters:
- name: enableBuild
type: string
values:
- YES
- NO
并像这样引用它:
- name: buildPath
${{ if eq(parameters.enableBuild, 'YES') }}:
value: 'path/build-file.jar*'
${{ else }}:
value: '.'