是否可以根据条件添加运行时参数 - Azure Devops Pipeline

2024-02-27

我当前的天蓝色管道如下所示 -

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(使用前将#替换为@)

是否可以根据条件添加运行时参数 - Azure Devops Pipeline 的相关文章

随机推荐