Azure Pipelines中如何合并两个数组类型的模板参数?
合并Azure Pipelines模板中的两个数组参数
首先需要修正模板里的参数类型错误:你定义的两个参数实际是数组类型,应将type: object改为type: array,否则会出现类型不兼容问题,修正后的模板参数如下:
parameters: - name: stageDependsOn type: array default: [] - name: _defaultDependsOn type: array default: ['must_have_stage']
在使用模板时,可通过以下两种方式合并两个数组:
方法1:数组展开语法
利用ES6风格的数组展开语法,将两个数组合并为一个新数组:
- stage: targetStage displayName: Target stage dependsOn: ${{ [ ...parameters._defaultDependsOn, ...parameters.stageDependsOn ] }}
方法2:+运算符直接拼接
Azure Pipelines支持用+运算符直接拼接两个数组:
- stage: targetStage displayName: Target stage dependsOn: ${{ parameters._defaultDependsOn + parameters.stageDependsOn }}
两种方法都能实现将默认数组_defaultDependsOn和自定义数组stageDependsOn合并,最终dependsOn会包含must_have_stage以及stageDependsOn中传入的所有阶段。
内容的提问来源于stack exchange,提问作者Kirill
相关产品推荐
相关产品推荐

