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

时间:2021-06-20 11:14:55

标签: 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)'

0 个答案:

没有答案