Azure Devops:阶段输出未正确解析

问题描述 投票:0回答:1

我的管道模板有一个奇怪的问题,我目前正在尝试使其适用于不同的 Angular/.NET 构建:

管道参考了 3 个阶段:Prework、Angular 和 Backend。

在 Prework 阶段,获取 GitVersion:

          - task: gitversion/setup@0
            displayName: "Install GitVersion v${{parameters.gitVersion}}"
            inputs:
              versionSpec: "${{parameters.gitVersion}}"

          - task: gitversion/execute@0
            displayName: Determine Version
            name: CreateVersions
            inputs:
              targetPath: '$(Build.SourcesDirectory)'
              useConfigFile: true
              configFilePath: ${{parameters.gitVersionFilePath}}
            
          - powershell: |
              Write-host "Version to build: $(GitVersion.SemVer)"
              Write-Host "##vso[task.setvariable variable=version;isOutput=true]$(GitVersion.SemVer)"
            displayName: "Setup version"
            name: Versions

这适用于每个存储库。

然而,下一阶段 gitVersion 会正确解析为除一个之外的所有存储库中的版本号。 在一种不起作用的情况下,我在角度阶段的 ng 构建过程中得到了这个:

npm ERR! Invalid version: "$[stageDependencies.Prework.General.outputs[CreateVersions.GitVersion.SemVer]]" 
每次出现版本号都像上面这样,一般不会在下一阶段解决。

我使用完全相同的管道模板和主模板,并且真的不知道从哪里开始寻找。

我检查了浅层提取是否被禁用,使用了语法,检查了管道设置是否不同。 免责声明:我是一名学生,也是 Azure DevOps 的新手,因此缺乏经验。

azure-devops azure-pipelines
1个回答
0
投票

尝试在您的角度舞台中使用

$[stageDependencies.Prework.General.outputs[Versions.version]]

© www.soinside.com 2019 - 2024. All rights reserved.