参数中的 Azure DevOps 条件

标签 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 eq(variables.Mode, 'staging') }}:
        mode: staging
        namespace: staging-namespace
        fqdn: staging.mysite.com
        anothervar: value
        yetanothervar: value2

模板使用默认参数值执行。 我可以做什么来根据变量设置变量。模式值。

最佳答案

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

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 

模板.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 DevOps 条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63849195/

相关文章:

git - 如何让 Jenkins 在远程服务器上执行删除

svn - 寻找一个文档+代码+工单集中协作的工具,

python - 如何在Azure数据工厂自定义事件中加载python库?

asp.net - https 请求在 Windows Azure 中不起作用

Azure Devops - Web 应用程序部署期间的“站点正在 build ”页面

azure-devops - Azure DevOps wiki 中带有滚动条的美人鱼图

python - 在 Azure Devops 中使用 API 创建变量组

azure - 使用 IoT 中心的 D2C 消息

Azure Active Directory - 更新用户 - 目标实体集当前不支持该请求

docker - 如何减少 `docker-compose` up 命令的输出