如何确定Azure DevOps中的Git标记值?

时间:2019-03-07 03:48:59

标签: git github azure-devops

我正在尝试找出在GitHub中标记某些代码时如何获得tag值。 (例如-> GitHub存储库->版本->创建新版本)。

例如,我正在尝试根据git标签值设置Build Version

steps:

- script: ##vso[area.action Build.BuildNumber=value;]Build.BuildNumber
  displayName: 'Setting the build number based on a Tag or not.'
  condition: and(succeeded(), startsWith(variables['Build.SourceBranch'], 'refs/tags/'))

所以在上面的step中,我想说的是:

  • 鉴于已推送标签
  • 获取制表符值(例如v1.2.3)
  • 将环境变量Build.BuildNumber设置为此标签值。

所以现在所有其他步骤都可以访问Build.BuildNumber

欢呼!

1 个答案:

答案 0 :(得分:1)

据我所知,您无法在构建过程中覆盖内置变量。但是,您可以自己定义一个变量来解决此问题。

我将其设置如下:

在构建定义中设置一个变量,因此默认情况下我使用build.buildnumber enter image description here

并添加了这一步:

- powershell: |
   $ver = $env:BUILD_SOURCEBRANCH.remove(0, 10)
   Write-Host "##vso[task.setvariable variable=Version]$ver"
  displayName: 'Update version to Tag'
  condition: and(succeeded(), startsWith(variables['Build.SourceBranch'], 'refs/tags/'))

从那时起,您可以在需要构建版本时引用“ Version”变量。