Azure DevOps中的条件变量值在使用变量组时构建管道



我一直在使用以下变量设置在我的项目中创建一些版本控制,效果很好。

variables:
major: 0
minor: 0
majorMinor: ${{variables.major}}.${{variables.minor}}
${{ if eq(variables['Build.SourceBranchName'], 'master')}}:
patch: $[counter(variables.majorMinor, 0)]
branchTag:
${{ if ne(variables['Build.SourceBranchName'], 'master')}}:
patch: 0
branchPatch: $[counter(variables['Build.SourceBranchName'], 0)]
branchTag: -${{variables['build.sourcebranchname']}}.$(branchPatch)
version: $(majorMinor).$(patch)
semver: $(majorMinor).$(patch)$(branchTag)

现在我想使用变量组来避免在管道之间指定共享变量,但当我必须用名称/值定义变量时,我不知道如何定义条件参数。

variables:
- group: nuget-credentials
- name: major
value: 0
- name: minor
value: 0
- name: majorMinor
value: ${{variables.major}}.${{variables.minor}}
${{ if eq(variables['Build.SourceBranchName'], 'master')}}:
- name: patch
value: $[counter(variables.majorMinor, 0)]
- name: branchTag
value:
${{ if ne(variables['Build.SourceBranchName'], 'master')}}:
- name: patch
value: 0
- name: branchPatch
value: $[counter(variables['Build.SourceBranchName'], 0)]
- name: branchTag
value: -${{variables['build.sourcebranchname']}}.$(branchPatch)
- name: version
value: $(majorMinor).$(patch)
- name: semver
value: $(majorMinor).$(patch)$(branchTag)

qbik注释中的解决方案。

variables:
- group: nuget-credentials
- name: 'major'
value: 1
- name: 'minor'
value: 0
- name: 'majorMinor'
value: ${{variables.major}}.${{variables.minor}}
- name: 'patch'
value: $[counter(variables.majorMinor, 0)]
- ${{ if eq(variables['Build.SourceBranchName'], 'master')}}:
- name: 'patch'
value: $[counter(variables.majorMinor, 0)]
- name: 'branchTag'
value:
- ${{ if ne(variables['Build.SourceBranchName'], 'master')}}:
- name: 'patch'
value: 0
- name: 'branchPatch'
value: $[counter(variables['Build.SourceBranchName'], 0)]
- name: 'branchTag'
value: -${{variables['build.sourcebranchname']}}.$(branchPatch)
- name: 'version'
value: '$(majorMinor).$(patch)'
- name: 'semver'
value: '$(majorMinor).$(patch)$(branchTag)'

代表提问者发表

最新更新