我正在尝试在Azure Devops管道中根据目标分支运行不同的构建模式,因此我创建了一个变量和一个if/else。根据MS文档,我似乎做得很正确。我的IDE进行语法/错误检查时不会抱怨YAML。然而,当我尝试运行构建管道时,
buildScript
变量会出现“重复键”错误。有人知道解决方法吗?或者我在YAML中做了什么愚蠢的事情吗?我原本认为YAML允许重复的键。variables:
slotTarget: 'development'
${{ if eq(variables['Build.SourceBranchName'], 'main') }} :
buildScript: build
${{ else }} :
buildScript: devBuild
jobs:
- job: buildApp
displayName: 'Build the Vue App'
#Set ENV.VARS for Webpack to read and inject during build
- bash: |
echo Running build for $BUILDNUM
BUILDNUMBER=$BUILDNUM npm run $(buildScript)
displayName: 'Create Build - $(build.buildNumber) for GIT $(build.SourceVersion) Trigger: $(build.Reason)'
env:
BUILDNUM: $(build.buildNumber)
编辑:我开始怀疑Azure DevOps管道解析器有不同的版本。也许是基于订阅年龄?似乎相同的代码适用于某些人,而对于其他人则不适用。有人可以验证这一点吗?