Bry*_*son 5 yaml azure-devops azure-pipelines azure-pipelines-yaml
我尝试根据 Azure Devops 管道中的目标分支运行不同的构建模式,因此我创建了一个变量和一个 if/ese。
根据此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)
Run Code Online (Sandbox Code Playgroud)
编辑:我开始怀疑 Azure DevOps 管道解析器有不同版本。也许基于订阅年龄?似乎相同的代码适用于某些人而不适用于其他人。任何人都可以验证这一点吗?
这是我在我这边运行的 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
steps:
- task: CmdLine@2
inputs:
script: |
echo Write your commands here
echo $(buildScript)
Run Code Online (Sandbox Code Playgroud)
无错误输出。
如果管道基于主分支运行,则返回:
如果管道不基于主分支运行,则返回:

我认为您使用的表达是正确的。您能否测试一下您这边的上述管道 YAML 定义,并让我知道是否仍然有一些错误输出。
如果仍然出现错误,由于StackOverflow是一个开放社区,我建议您在微软的开发者社区上发布问题,以便我们检查调试日志。
| 归档时间: |
|
| 查看次数: |
2910 次 |
| 最近记录: |