我的管道模板有一个奇怪的问题,我目前正在尝试使其适用于不同的 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 的新手,因此缺乏经验。
尝试在您的角度舞台中使用
$[stageDependencies.Prework.General.outputs[Versions.version]]
。