Azure Pipelines YAML报Unexpected value错误,求解决方案
问题描述
我已按照之前的建议添加了缺失的"steps"关键字,但现在/azure-pipelines.yml文件出现以下Unexpected value错误:
/azure-pipelines.yml (第11行,第12列): Unexpected value/azure-pipelines.yml (第12行,第5列): Unexpected value/azure-pipelines.yml (第13行,第5列): Unexpected value/azure-pipelines.yml (第14行,第5列): Unexpected value/azure-pipelines.yml (第16行,第12列): Unexpected value/azure-pipelines.yml (第17行,第5列): Unexpected value/azure-pipelines.yml (第19行,第12列): Unexpected value/azure-pipelines.yml (第20行,第5列): Unexpected value/azure-pipelines.yml (第21行,第5列): Unexpected value/azure-pipelines.yml (第22行,第5列): Unexpected value
例如,第11行第12列位于第一个"inputs"的冒号(:)之后。我尝试过调整缩进、切换单双引号,但均无效果,请问问题出在哪里?
附出错的YAML代码:
trigger: - develop pool: vmImage: windows-2019 steps: - task: NuGetCommand@2 inputs: command: "restore" restoreSolution: "**/*.sln" feedsToUse: "config" - task: MSBuild@1 inputs: solution: "**/*.sln" - task: S3Upload@1 inputs: regionName: "us-west-2" bucketName: "ssw-nonprod-ado-artifacts" globExpressions: "**" targetFolder: "nsspreproc"
解决方案
问题出在YAML缩进不规范,YAML对缩进要求极其严格:
- 同一层级的元素必须使用相同数量的空格缩进
- 子元素的缩进必须比父元素多(通常用2或4个空格,全程保持统一即可)
你的代码中,inputs及其子项的缩进比对应的task多了过多空格,导致YAML解析器无法识别层级结构。修正后的代码如下(统一使用2个空格缩进):
trigger: - develop pool: vmImage: windows-2019 steps: - task: NuGetCommand@2 inputs: command: "restore" restoreSolution: "**/*.sln" feedsToUse: "config" - task: MSBuild@1 inputs: solution: "**/*.sln" - task: S3Upload@1 inputs: regionName: "us-west-2" bucketName: "ssw-nonprod-ado-artifacts" globExpressions: "**" targetFolder: "nsspreproc"
关键修正点:
steps下的每个- task项统一缩进2个空格- 每个
task下的inputs缩进比task多2个空格(即相对于steps缩进4个空格) inputs下的所有子项再统一缩进2个空格,保持层级清晰
这样YAML解析器就能正确识别每个元素的层级关系,不会再抛出Unexpected value错误。
内容的提问来源于stack exchange,提问作者Marcie
相关产品推荐
相关产品推荐

