Azure管道:加载YAML构建管道时发生错误:段数错误

Jay*_*kul 10 continuous-integration azure azure-devops

我将azure-pipelines.yml从一个项目复制到另一个项目,但它不会构建.我确保一切都是一样的,并且两侧都安装了相同的扩展......

旧的构建仍然有效,但新的构建不会:

加载YAML构建管道时发生错误. 错误的段数

这是YAML:

# https://aka.ms/yaml
name: $(Build.DefinitionName)_$(GitVersion_InformationalVersion)
pr:
- master
pool:
  vmImage: 'VS2017-Win2016'    

steps:
- task: gittools.gitversion.gitversion-task.GitVersion@3
  displayName: GitVersion

- powershell: .\bootstrap.ps1
  displayName: 'Restore pre-requisites'

- powershell: .\build.ps1 -OutputDirectory $(Build.ArtifactStagingDirectory)\$(Build.DefinitionName) -SemVer $(GitVersion.InformationalVersion) -Verbose
  displayName: 'Run build script'

- task: richardfennellBM.BM-VSTS-PesterRunner-Task.Pester-Task.Pester@8
  displayName: 'Pester Tests'
  inputs:
    additionalModulePath: '$(Build.ArtifactStagingDirectory)'
    CodeCoverageFolder: '$(Build.ArtifactStagingDirectory)'
    resultsFile: '$(Common.TestResultsDirectory)\Test-$(Build.DefinitionName)_$(Build.BuildNumber).xml'
    CodeCoverageOutputFile: '$(Common.TestResultsDirectory)\Coverage-$(Build.DefinitionName)_$(Build.BuildNumber).xml'

- task: PublishTestResults@2
  displayName: 'Publish Test Results'
  condition: always()
  inputs:
    testRunner: NUnit
    searchFolder: '$(Common.TestResultsDirectory)'

- task: PublishCodeCoverageResults@1
  displayName: 'Publish code coverage'
  inputs:
    summaryFileLocation: '$(Common.TestResultsDirectory)\Coverage-$(Build.DefinitionName)_$(Build.BuildNumber).xml'

- task: PublishBuildArtifacts@1
  displayName: 'Publish Artifact: Module'
  inputs:
    ArtifactName: Module
    PathtoPublish: '$(Build.ArtifactStagingDirectory)'
Run Code Online (Sandbox Code Playgroud)

Jay*_*kul 22

事实证明,此错误消息表明扩展的VERSION错误.我必须提名这条消息,因为它永远不会有用......

GitVersion任务(最终!)发布了第4版,在Azure Pipeline世界中,这显然意味着不推荐使用v3.因此,安装该任务扩展的新团队现在只有v4可用(尽管我复制yaml的团队仍然具有v3).

解决方案是将第一步改为:

steps:
- task: gittools.gitversion.gitversion-task.GitVersion@4
  displayName: GitVersion
Run Code Online (Sandbox Code Playgroud)