2012-08-23 113 views
2

我对TeamCity来说很新,并且已经玩了几天。我的Visual Studio解决方案具有以下项目:团队城市 - 多种构建配置

  • SharedComponents:这些共享实体使用的其他项目
  • DAL
  • DAL.Tests &异常类:单元测试DAL
  • BLL
  • BLL.Tests:BLL的单元测试
  • Web:ASP.NET MVC3项目

目前我有一个构建配置,它将编译解决方案,并在SVN检入更改后立即运行所有测试。这是好的,但也有一些情况下,我不希望这样的事情发生:

  • 如果变化只对Web项目,仅该项目应该被重建
  • 变更是否对发BLL,然后BLL,BLL.Tests和Web应该重建,然后执行BLL.Tests。

设置上述场景的最佳方法是什么?如果你能提供帮助,我将非常感激。

非常感谢

回答

3

您可以将构建配置拆分几个:

  1. DAL - 触发在DAL和DAL.Test变化,使用的MSBuild和运行测试,建立他们。
  2. BLL - 与DAL相同。
  3. Web - 触发Web项目中的更改并重建它。

对于每个应使用VCS触发器的“触发器规则”来配置检出路径。 添加到第二个配置'完成触发'取决于第一个配置和第三个配置相同取决于第二个。因此,如果您推送与Dal相关的更改,它将按照DAL - > BLL - > Web的顺序构建所有配置。如果您只在BLL中进行更改,则链将为BLL - > Web,并且Web更改将只触发一个Web构建。

+0

非常感谢。它像一个魅力工作!我还为每个版本添加了VCS签出规则,以便只检测和下载与每个项目相关的更改 – user1433470