是否可以将环境变量用于构建定义工作空间映射?

时间:2011-11-28 21:15:26

标签: tfs continuous-integration tfs2010 tfsbuild

我在TFS项目中定义的构建很少,我想在构建服务器上触发这些构建。问题是构建服务器具有用于DVD驱动器的不同驱动器号。第一个构建服务器将DVD驱动器号设置为D驱动器,第二个构建服务器将DVD驱动器号设置为E驱动器。我的构建定义的工作区映射设置为“E:\ Builds”文件夹,用于在第一个构建服务器上构建,其他构建定义的工作区映射设置为“D:\ Builds”文件夹,以构建在第二个构建服务器上。

当我想使用不同的构建服务器时,我总是需要更改构建定义的工作区映射。

是否可以将环境变量用于工作空间映射?我可以在两台服务器上创建BUILDS_ROOT环境变量,以在两台服务器上设置正确的构建位置。

我希望构建定义工作区独立于构建服务器的驱动器号和路径。有可能以某种方式做到吗?

通常最简单的解决方案是在两台服务器上重新分配驱动器号是相同的,但这并不容易,因为两个驱动器上已经安装了一些软件。

2 个答案:

答案 0 :(得分:2)

如果在构建定义工作文件夹映射中使用$(SourceDir)变量,则不应该有任何问题。

有关详细信息,请参阅此forum post

答案 1 :(得分:0)

如果您正在讨论代理上的构建,那么您应该尝试在代理上的工作目录中使用$(SystemDrive)\Builds...。每个代理都可以构建在它拥有的任何驱动器上(或者您可以将其更改为您喜欢的任何驱动器)。

在构建映射(构建定义中的工作区)中将这些映射设置为$(SourceDir)\solutionfoldernameetc,您只需将它们设置为您自己/开发人员工作区中带驱动器的硬编码路径。