2011-02-10 173 views
1

我们正在从SVN/CruiseControl .NET转向TFS 2010,并且试图让我的脑海中围绕如何为以下方案设置自动构建。组织多解决方案构建

假设包含几个解决方案的大的代码库,这反过来参考大量的项目:

enter image description here

因此,在本实施例中的解决方案1次的引用项目A,项目B,项目C和项目D.解决方案2参考项目C和项目E.

当使用TFS作为构建系统时,在TFS 2010中组织此类设置的最佳方式是什么?具体而言,我们希望在只修改Project E时避免TFS构建解决方案1,但相反我们希望在修改Project C时构建解决方案1和解决方案2。

任何人都可以建议的好文档或想法?

回答

2

这在TFS中非常容易。这将几乎为你自动完成。

当您创建构建时,您可以指示“工作区”是什么。这是TFS中包含构建代码的文件夹。生成触发器仅在将文件签入“工作空间”部分中列出的文件夹时才会触发。

Workspace

所以,你会做两个版本:

  • 一个用于解决方法1,有一个工作区设置与包含项目A,B,C和D.
  • 第二内建的文件夹将用于Solution2。它的工作空间将具有项目C和E的文件夹。

如果您将这些项目设置为通过“持续集成”选项进行触发,那么您将获得正在寻找的内容。 (解决方案1 ​​& 2将在项目C更改时生成,只有当E更改时Solution2将生成,当项目A,B或D更改时生成Solution1)。

+0

非常棒 - 这正是我想听到的! – 2011-03-01 13:52:50

-1

重新考虑使用Teambuild/TFS。不是你想听到的我知道的...... 你可以用svn支持这个更容易,并检查共享的内置dll。

如果构建使用相同的工作空间,您可以设置第二个构建而不重建? 这样它会更快地编译,并确保源触发器排除相关项目。

我可以看到为什么你不用什么使用巡航控制.net了,但你可以使用更好的teamcity。 祝你好运

+0

这是一个非常误导性的答案。做他想做的事情在TFS中非常容易(微不足道)。它是在TFS中创建atuobuild的一部分自动完成的。 (你是否真的使用过TFS Build?) – Vaccano 2011-02-27 00:04:47