我当前的天蓝色管道如下所示 -
parameters:
- name: Deploy
type: Boolean
default: false
- name: Stages
type: string
values:
- Stg A
- Stg B
- Stg C
- Stg D
- Stg E
我试图添加一个条件,如果用户检查Deploy
在运行管道时,它应该仅动态显示Stg A
, Stg B
作为值Stages
。如果他们取消选中Deploy
,它应该显示Stg C
, Stg D
and Stg E
.
我尝试通过以下方式添加条件 -
parameters:
- name: Deploy
type: Boolean
default: false
- name: Stages
type: string
${{ if eq(parameters['Deploy'], 'true' ) }}:
values:
- Stg A
- Stg B
${{ if ne(parameters['Deploy'], 'true' ) }}:
values:
- Stg C
- Stg D
- Stg E
但是,以下条件方式适用于variables
,但没有为parameters
。有没有办法在Azure管道中实现这一点。
是否可以根据条件添加运行时参数 - Azure Devops Pipeline
恐怕运行时参数不可能根据另一个参数值有条件地定义值。
因为参数需要在管道运行开始之前定义。正如文件中所述:
参数仅在模板解析时可用。参数为
在管道运行之前扩展让价值观包围
${{ }} 被替换为参数值。如果您有以下情况,请使用变量
需要您的值在管道运行期间更广泛地可用。
作为解决方法,我们可以在步骤中使用条件:
parameters:
- name: Deploy
type: Boolean
default: false
stages:
- ${{ if eq(parameters['Deploy'], 'true' ) }}:
- template: template.yml
parameters:
stages:
- "Stg A"
- "Stg B"
- ${{ if ne(parameters['Deploy'], 'true' ) }}:
- template: template.yml
parameters:
stages:
- "Stg C"
- "Stg D"
- "Stg E"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)