azure - 参数中的 Azure DevOps 条件
问题描述
请帮助我在步骤模板中的参数中创建条件。
我想根据 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 值设置 vars。
解决方案
您可以分阶段指定不同的参数值。这是我的示例:
天蓝色管道.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 - 如何使用 Microsoft Graph 解决 Microsoft 的本机应用登录身份验证中的“状态不匹配”问题
- android - 找不到 com.android.tools.build:gradle:3.2.1。在来自 github 的示例项目中
- apache-zeppelin - Zeppelin anaconda:当前用户没有写权限
- android - 为 iOS 和 Android 自动安装应用程序?
- c++ - 在 CMake 中获取包含库的包含路径列表
- javascript - 在 c# asp.net 中显示基于数据表记录的动态 HTML tr
- javascript - CSRF 验证失败。使用 Python Django 后端和 React,Axios(使用 POST)前端
- java - 相互贯穿的物体
- c++ - 在 C++17 中,这段代码是否应该产生警告?
- ios - 出口合规 iOS