Azure DevOps参数中的条件
请帮助我在步骤模板的参数中创建条件 我想根据variable.Mode值更改模板中的参数。 例如,此代码不起作用: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
- 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,这个问题有更新吗?如果您仍然被阻止,请随时通知我,我将尽力帮助:)