Azure DevOps Pipeline - 带管道变量的条件表达式

Azure DevOps Pipeline - condition expression with pipeline variable

我需要根据 管道变量 (不是 YAML 中定义的变量)使我在 DevOps YAML 管道中的阶段依赖或不依赖。

我试过这样的事情:

- stage: 'test'
  ${{ if eq(variables.dependent_stages, 'true') }}:
    dependsOn: [dev]
  ${{ elseif eq(variables.dependent_stages, 'false') }}:
    dependsOn: []
  jobs:
  - deployment: approve
    environment: TEST

但是它始终将其视为“真”,因为它是变量的默认值。

如何让它反映管道变量的实际值?

不是我希望的解决方案,但是通过参数解决了:

parameters:
- name: dependent_stages
  displayName: Should environments depend on each other?
  type: string
  default: No
  values:
  - No
  - Yes

...

- stage: 'test'
  ${{ if eq(parameters.dependent_stages, 'Yes') }}:
    dependsOn: [dev]
  ${{ elseif eq(parameters.dependent_stages, 'No') }}:
    dependsOn: []