简体   繁体   English

参数中的 Azure DevOps 条件

[英]Azure DevOps conditions in parameters

Help me please with creating conditions in parameters in the step template.请帮助我在步骤模板中的参数中创建条件。

I want to change parameters in the template depending on variable.Mode value.我想根据 variable.Mode 值更改模板中的参数。 For example, this code doesn't work:例如,此代码不起作用:

  - 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

The template executes with default values of parameters.该模板使用参数的默认值执行。 What can I do to set vars depending on variable.Mode value.我该怎么做才能根据 variable.Mode 值设置 vars。

You can specify different parameter values in stages.您可以分阶段指定不同的参数值。 Here is my sample:这是我的示例:

azure-pipelines.yml: 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:模板.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 }}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM