在 Azure devops yaml 管道模板中使用 if else 条件
Using if else conditions within a Azure devops yaml pipeline template
本质上,我试图在 yaml 模板中使用 if else 逻辑而不是调用者管道。
我有以下两条管道 azure-caller.yml 和 template.yaml
azure-caller.yml
parameters:
- name: test
displayName: 'select true or false'
values:
- true
- false
variables:
- name: test-true
${{ if eq(parameters.test, 'true') }}:
value: false
${{ elseif eq(parameters.test, 'false') }}:
value: true
stages:
- template: job-templates/template.yml
parameters:
testrue: $(test-true)
template.yml
parameters:
testrue: test_true
stages:
- stage: A
jobs:
- job: JA
steps:
- script: |
echo "Reverted value is" ${{ parameters.testrue }}
name: DetermineResult
如何移动 template.yml 中的 if else 逻辑而不是 azure-caller.yml?您的意见将有所帮助。谢谢
下面的管道应该有一个限制,即模板中变量 test-true 的范围将仅限于阶段:A
azure-caller.yml
parameters:
- name: test
displayName: 'select true or false'
values:
- true
- false
stages:
- template: job-templates/template.yml
parameters:
testrue: ${{ parameters.test }}
template.yml
parameters:
testrue: default
stages:
- stage: A
variables:
- name: test-true
${{ if eq(parameters.testrue, 'true') }}:
value: NewVauleForTrueParam
${{ elseif eq(parameters.testrue, 'false') }}:
value: NewVauleForFalseParam
jobs:
- job: JA
steps:
- script: |
echo "Echo value is" $(test-true)
结果
本质上,我试图在 yaml 模板中使用 if else 逻辑而不是调用者管道。
我有以下两条管道 azure-caller.yml 和 template.yaml
azure-caller.yml
parameters:
- name: test
displayName: 'select true or false'
values:
- true
- false
variables:
- name: test-true
${{ if eq(parameters.test, 'true') }}:
value: false
${{ elseif eq(parameters.test, 'false') }}:
value: true
stages:
- template: job-templates/template.yml
parameters:
testrue: $(test-true)
template.yml
parameters:
testrue: test_true
stages:
- stage: A
jobs:
- job: JA
steps:
- script: |
echo "Reverted value is" ${{ parameters.testrue }}
name: DetermineResult
如何移动 template.yml 中的 if else 逻辑而不是 azure-caller.yml?您的意见将有所帮助。谢谢
下面的管道应该有一个限制,即模板中变量 test-true 的范围将仅限于阶段:A
azure-caller.yml
parameters:
- name: test
displayName: 'select true or false'
values:
- true
- false
stages:
- template: job-templates/template.yml
parameters:
testrue: ${{ parameters.test }}
template.yml
parameters:
testrue: default
stages:
- stage: A
variables:
- name: test-true
${{ if eq(parameters.testrue, 'true') }}:
value: NewVauleForTrueParam
${{ elseif eq(parameters.testrue, 'false') }}:
value: NewVauleForFalseParam
jobs:
- job: JA
steps:
- script: |
echo "Echo value is" $(test-true)
结果