Azure DevOps参数中的条件

Azure DevOps参数中的条件,azure,azure-devops,continuous-integration,Azure,Azure Devops,Continuous Integration,请帮助我在步骤模板的参数中创建条件 我想根据variable.Mode值更改模板中的参数。 例如,此代码不起作用: - template: ../templates/template1.yml parameters: ${{ if eq(variables.Mode, 'dev') }}: mode: dev namespace: dev-namespace fqdn: dev.mysite.com ${{ if

请帮助我在步骤模板的参数中创建条件

我想根据variable.Mode值更改模板中的参数。 例如,此代码不起作用:

  - template: ../templates/template1.yml
    parameters:
      ${{ if eq(variables.Mode, 'dev') }}:
        mode: dev
        namespace: dev-namespace
        fqdn: dev.mysite.com
      ${{ if eq(variables.Mode, 'staging') }}:
        mode: staging
        namespace: staging-namespace
        fqdn: staging.mysite.com
        anothervar: value
        yetanothervar: value2
模板使用默认参数值执行。
如何根据variable.Mode值设置变量。

您可以分阶段指定不同的参数值。这是我的样本:

azure-pipelines.yml:

variables:
  Mode: dev

stages:
  - ${{ if eq(variables.Mode, 'dev') }}:
    - template: template.yml
      parameters:
        mode: dev
        namespace: dev-namespace
        fqdn: dev.mysite.com

  - ${{ if eq(variables.Mode, 'staging') }}:
    - template: template.yml  # Template reference
      parameters:
        mode: staging
        namespace: staging-namespace
        fqdn: staging.mysite.com
        anothervar: value
        yetanothervar: value2 
template.yml:

parameters:
- name: mode  
  default: ''
- name: namespace
  default: ''
- name: fqdn
  default: ''
- name: anothervar 
  default: ''
- name: yetanothervar 
  default: ''

stages:
- stage: 
  jobs:
  - job: 
    steps:
    - script: echo ${{ parameters.mode }}

我尝试了这种语法,但似乎没有定义模式变量。当管道启动时,步骤列表中缺少带有模板的步骤。它设置为管道变量。管道启动时。您可以在azure-pipelines.yml中定义模式变量。您需要将此添加到azure管道的顶部。yml:variables:Mode:dev我在回答中添加了此部分。如果您使用我上面的示例,您应该能够很好地工作。@Win32Sector Hi-friend,这个问题有更新吗?如果您仍然被阻止,请随时通知我,我将尽力帮助:)