TFS构建模板嵌套参数

时间:2011-12-20 11:47:16

标签: tfs msbuild tfsbuild

是否可以将TFS构建模板参数相互嵌套?

示例(通过构建定义ui设置):

$(ToolsRoot) = E:\BuildTools

$(MSPECTools) = $(ToolsRoot)\MSpec\

或者,是否可以使用环境变量。

我试过了两个,似乎都没有用。

我需要找到一种动态设置构建根的方法,因为它在我们的各种构建服务器上有所不同。

1 个答案:

答案 0 :(得分:0)

我想你已经实现了像这样的拓扑:enter image description here

因此,您需要控制每个代理的根。
如果您打开TFS管理控制台>在Build Machine#1中构建配置,您将看到Build Controller&代理商A.1& A.2。
如果您打开TFS管理控制台>在Build Machine#2中构建配置,你会看到Agent A.3,A.4,A.5& A.6。

对于任何给定的构建代理,如果单击“属性”,您将看到“工作目录”条目,该条目通常设置为$(SystemDrive)\Builds\$(BuildAgentId)\。在运行时,它会转换为C:\Builds\55

对于任何给定的构建,在构建定义区域“工作区”中,此“工作目录”等于条目$(SourceDir)

假设您已在代理A.1中设置了工作目录“C:\ A.1 \ Build”&在代理A.2“C:\ A.2 \ Build”中。
为了得到你需要的东西,你必须在构建定义中设置一个映射到$(SourceDir)\Template