Azure YAML if-else 总是失败

Azure YAML if-else always fail

我最近正在使用 Azure 进行 CI/CD 设置。目标是让开发人员 select 要创建的构建类型,即暂存/生产。

感谢,我添加了以下代码-

parameters:
- name: selectConfiguration
displayName: Select build configuration
type: string
default: Debug
values:
 - Debug
 - Release

variables:
- name: config
${{ if eq(variables['parameters.selectConfiguration'], 'Debug') }}:
  value: Debug
${{ else }}:
  value: Release

这给了我以下结果 -

但是无论我select在这个单选组里做什么,它总是运行else块。即 if-else 总是失败。对理解我在这里做错了什么有帮助吗?

在 YAML 管道中,您不能使用 if...else 表达式在不同条件下为变量分配不同的值。

只能使用if表达式来判断一个变量在指定条件下是否可用。参见“Conditionally assign a variable”。

if...else 表达式可用于:

试试下面的方法,它应该有效。我正在使用相同的逻辑在不同的代理池之间切换。

variables:
  ${{ if eq(parameters.selectConfiguration, 'Debug') }}: 
    config: Debug
  ${{ else }}:
    config: Release