2017-02-28 81 views
1

TFS Build允许在构建定义的“资源库”选项卡中定义标签格式。我可以在“变量”选项卡中定义自定义变量,并在标签格式定义中使用它们。但有没有可能在自定义构建步骤中的批处理脚本中更改此类自定义变量的值?或者也许在一些其他类型的构建步骤?我可以在批处理脚本中获得这样的变量值,但是任何更改都会被忽略(尽管“Modify Environment”复选框已设置)。是否有可能将构建过程中计算的值用作标签格式的一部分?TFS Build 2015 - 使用标签格式的自定义变量

提前致谢!

+0

问题中其他类型构建步骤的含义是什么?你能举个例子吗? –

+0

我使用powershell以更改PowerShell中自定义变量的值: Write-Host“## vso [task.setvariable variable = ProductVersionNumber;] $ productVersion”。 它的工作原理,但只有初始值进入标签。看起来格式是在构建的最初阶段进行评估的。 – xylothek

回答

0

它应该是。自定义构建步骤中,“变量”选项卡中的自定​​义变量与批处理脚本中的自定义变量没有多大区别。

但是,请注意并非每个自定义变量都可以用作标记格式的一部分。请仔细检查一下。

某些构建变量可能产生的值为而非有效标签。 例如变量如$(Build.RequestedFor)Build.DefinitionName可以包含空格。如果该值包含 空白区域,则不会创建标记。从OP


更新:作为一种变通方法,以build.updatebuildnumber你可以更新一个版本号,然后在标签格式使用$(build.buildNumber)

+1

在标签中使用自定义变量没有帮助(更新的值没有使用,只有初始值),但与build.updatebuildnumber我可以更新内部版本号,然后使用$(build.buildNumber)标签格式。 – xylothek