2011-03-25 55 views
1

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

这个问题在先前提到的线程的评论中有点令人兴奋,但似乎motre适合创建一个新的线程。

引述由大卫Keaveny这一评论:

是否有可能得到TFS期间 引导其他文件夹路径下载 ?我有一个Common.targets 文件,其中包含所有自定义 任务,我的TFSBuild.proj应 执行,但考虑到我几个 生成定义(每 定义一个文件夹),它坐落在一个单独的文件夹 在与构建 定义相同的级别。没有它,当然, 构建立即失败。 - 大卫 Keaveny 8月17'10在23:58

回答

1

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

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

我会很感兴趣,如果有人有一个更简单的方法来管理这个虽然。

+0

显然,没有简单的解决方案存在。对我来说,为TFS构建脚本提供固定的文件名并且不允许在同一文件夹中存在多个脚本是一个设计错误。感谢您的回复。我会接受它。 – 2011-04-15 10:51:46

相关问题