【问题标题】:Is it possible to use environmental variable for build definition's workspace mappings?是否可以将环境变量用于构建定义的工作区映射?
【发布时间】:2011-11-29 23:17:07
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: tfs continuous-integration tfsbuild


    【解决方案1】:

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

    查看forum post了解更多详情。

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-03-25
        • 1970-01-01
        • 2016-04-25
        • 1970-01-01
        相关资源
        最近更新 更多