TFS 2015 构建定义 - 用变量覆盖构建号

TFS 2015 Build definition - override Build number with variables

我们在日常敏捷冲刺中使用很好的 $(date:yyyy.MM.dd)$(rev:.r) 内部版本号格式。但是,该版本必须使用更简单的 1.0.0.rev 架构进行编号。

理想情况下,我想将内部版本号作为变量提供,它会在 "queue build" 对话框中自动展开,在那里可以被覆盖。怎么做到的?

我尝试将 $(date:yyyy.MM.dd)$(rev:.r) 格式移动到一个变量,并在常规选项卡中使用该变量,但出现错误 400。

你可以直接使用Environment variables比如Build.BuildNumber/BUILD_BUILDNUMBER

使用这个就等于完成构建的名称。您可以在 General tab.

上指定生成此值的内部版本号格式

如果您只想在 TFS Build vNext 中生成自定义内部版本号,例如 1.0.0.rev 架构。你可以看看下面的博客:

这个很简单。

1) 只需像这样创建一个 Powershell 脚本

$FinalVersion=Some-Function-To-Calculate-Version
$BuildDefName = $Env:BUILD_DEFINITIONNAME
Write-Host "##vso[build.updatebuildnumber]$($BuildDefName)-$($FinalVersion)"

2) 在您的 vNext 构建定义中,"Build number format" 只需将其设置为任何值。没关系,因为内部版本号将被覆盖。

3) 在相同的 vNext 构建定义步骤中,将第一步添加为 Powershell 步骤,并将步骤 1 中的脚本设置为执行。如果您想传递变量以计算内部版本号,您可以稍后进行自定义。

4) 排队构建并查看结果。