2013-07-09 34 views
2

我们目前有2个解决方案,分享几个项目之间,以及有一些项目所特有的每个人。我们目前为这些设置为门控签入的解决方案提供了构建定义。多个TFS如何管理门控签入生成定义

遗憾的是,似乎有与集控签入多个定义意味着,如果我做出改变,以共享的项目之一,它只能运行一个定义。在一个完美的世界里,我希望它在这种情况下建立两个解决方案。

我知道我可以创建一个构建这两种解决方案的构建定义,并且这对于有问题的场景来说效果很好,但是如果我正在修改某个解决方案独有的项目,它仍然会构建这两个解决方案,呃。

有没有来配置我们建立这样,我们得到两全其美的方法吗?我希望确保共享代码在两种解决方案上的正确工作的一致性,但是我也希望构建不会花费双倍的时间进行只影响一种解决方案或另一种解决方案(迄今为止我们最常见的用例)的更改。

还是我坚持一方或另一方的权衡?

回答

0

与现状的基本问题是“如何识别变”?无论是通用项目还是修改后的独特项目。我不认为在构建代码的时候有任何简单的方法来识别它。

一种选择,你是不是最好的解决办法是在一般项目中分离出成另一种解决方案,它编译,并把DLL的,其独特的解决方案使用的公共位置。通过这种方式,您可以拥有3个独立的门控检查,如果您对通用解决方案进行了更改,则可以在同一个版本定义中编译两个独特的解决方案。如果不是,您可以在自己的build def中编译通用和唯一的解决方案。

+0

嗯,我同意这应该工作。这可能是我的出路,因为编辑通用项目并不是一个非常常见的用例,尽管这些常见项目需要一定的设置和新的构建/部署策略。值得肯定的是,如果没有其他建议即将出台。 – Sethcran

+0

当然,如果你找到更好的东西,请告诉我。 – Isaiah4110

+0

我在这个问题为好,这将是很难将它们分离出来,由于代码库有多大。 –