【问题标题】:Team build: Use same external targets for multiple build definitions团队构建:对多个构建定义使用相同的外部目标
【发布时间】:2011-03-25 11:07:08
【问题描述】:

我想在多个构建定义中使用在外部文件中定义的相同目标。此外部目标文件应存储在源代码管理中。 TFSBuild.proj and Importing External Targets 中解释的引导阶段似乎不允许为多个构建定义下载同一个文件,因为构建文件始终命名为 TFSBuild.proj,因此每个构建定义位于一个单独的文件夹中。

在前面提到的线程的评论中有些问题,但创建一个新线程似乎更合适。

引用 David Keaveny 的评论:

是否可以让 TFS 下载 期间从其他文件夹路径 引导程序?我有一个 Common.targets 包含所有自定义的文件 我的 TFSBuild.proj 应该是的任务 执行,但鉴于我有几个 构建定义(每个文件夹一个 定义),它位于一个单独的 与构建处于同一级别的文件夹 定义。没有它,当然, 构建立即失败。 - 大卫 2010 年 8 月 17 日 23:58

【问题讨论】:

    标签: tfs tfsbuild


    【解决方案1】:

    我不确定是否有简单的方法可以做到这一点。您可以拥有目标文件的主副本,并将其分支到您的每个构建定义文件夹。当您更新目标文件时,您需要记住将其合并到所有文件夹中。您可能可以编写一个自动合并的脚本,该脚本应该能够计算出使用tf branches 的分支关系,然后围绕它们进行迭代并调用tf merge 然后调用tf checkin。不过,这感觉像是很多工作。

    您可以在构建服务器上安装目标。我们有许多我们使用的自定义目标,我们将它们作为产品进行管理,它们有自己的源代码控制区域,并且独立于它们用于构建的软件进行版本控制。我们使用 wix 打包它们,一旦它们经过测试,它们就会安装在所有构建机器上。这似乎对我们有用,这意味着我们可以控制新目标文件的推出,并且目标安装只是构建服务器基线构建的一部分。

    如果有人有更简单的管理方法,我会非常感兴趣。

    【讨论】:

    • 显然,不存在简单的解决方案。对我来说,为 TFS 构建脚本设置一个固定的文件名并且不允许在同一个文件夹中存在多个脚本是一个设计错误。感谢您的回复。我会接受的。
    猜你喜欢
    • 2013-04-25
    • 2017-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-11
    相关资源
    最近更新 更多