如何在Azure Pipelines的.yml文件中按变量条件配置触发器?
解决Azure DevOps YAML触发器条件分支配置错误
你的配置报错是因为YAML结构解析问题,include字段期望数组类型,但原写法的条件块缩进和结构不符合Azure Pipelines模板表达式规则,导致解析器误判为新的映射键。
正确配置写法
可以采用两种方式实现需求:
方式一:单行三元表达式
trigger: branches: include: ${{ eq(flavour, 'staging') ? ['staging'] : ['master'] }}
方式二:多行条件块(缩进正确)
trigger: branches: include: ${{ if eq(flavour, 'staging') }}: - staging ${{ else }}: - master
关键说明
- 确保条件块内的分支列表(
- staging/- master)缩进在条件语句(${{ if... }}:)下方,让解析器识别为include数组的一部分,而非新的映射键。 - Azure Pipelines模板表达式中,推荐使用
eq()函数进行相等判断,虽==也能生效,但eq()是更标准的写法。
内容的提问来源于stack exchange,提问作者Pandruz
相关产品推荐
相关产品推荐

