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

时间:2016-11-24 15:01:47

标签: tfs tfs2015

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

理想情况下,我想将构建号作为变量给出,它将在“队列构建”对话框中自动展开,在该对话框中可以覆盖它。怎么办呢?

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

2 个答案:

答案 0 :(得分:2)

您可以直接使用Build.BuildNumber / BUILD_BUILDNUMBER

Environment variables

使用它只等于已完成构建的名称。您可以在General tab上指定生成此值的内部版本号格式。

如果您只想在TFS Build vNext中生成自定义构建号,例如1.0.0.rev架构。您可以查看以下博客:

答案 1 :(得分:2)

这很简单。

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

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

2)在你的vNext构建定义中,对于“Build number format”,只需将其设置为任何内容即可。这没关系,因为Build Number会被覆盖。

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

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