需要从 azure 管道中的变量设置条件

时间:2021-02-02 12:56:57

标签: azure-devops azure-pipelines

我在全局级别设置了变量,在运行管道之前将通过变量提供值,尝试使用变量设置条件但未能成功。下面是我的示例管道

  trigger
    - develop
  variables:
    stagename: $(stagename)

  stages:
  - stage: deploy
      - task: download artifact
        condition:  notin(variables($(stagename),(tst1,tst2)))

      - task: deploy2
        condition: notin(variables($(stagename),(tst1,tst2)))

目标是在 stagname 等于 tst1 或 tst2 时不运行在这两个任务之上,应该在其他情况下运行。

1 个答案:

答案 0 :(得分:0)

您可以参考以下示例,它对我有用:

trigger:
  - develop
stages:
- stage: deploy
  jobs:
  - job: Build
    steps:
    - task: PowerShell@2
      condition: notin(variables['stagename'],'tst1','tst2')
      inputs:
        targetType: 'inline'
        script: |
          Write-Host "Hello World"

您不需要在管道根级别设置变量。在管道根级别中设置的变量将覆盖在管道设置 UI 中设置的变量。这是关于 define variablesspecify conditions 的文档。