我该如何提高TeamCity的构建性能?

15

我有以下步骤来完成我的项目:

  1. 构建
  2. 单元测试
  3. 测试覆盖率
  4. 重复项查找器
  5. FX Cop

是否有任何方法可以让TeamCity并行执行第2-5个步骤?我可以使用多个构建代理吗?


1
你需要在每次构建时运行fxcop和重复项查找器吗?我只在夜间运行它们。将它们拆分为不同的配置的问题是,你可能会有一个成功完成另一个未完成的情况。因此,如果你的开发人员使用预测试提交,它们有时可能会成功,但实际上不应该成功。我更喜欢按csproj或组构建较小的单元。 - James Woolfenden
@JamesWoolfenden,是的,我也有同样的想法:在夜间构建时运行FxCop和Duplicates。 - SiberianGuy
1个回答

11

是的。假设您至少有四个构建代理,您可以执行以下操作:

  1. MyProject下定义5个构建配置(BuildUnit Tests等)。
  2. 编辑第2-5个构建配置,在Build Triggering中定义一个新的Trigger(选择Finish Build Trigger,并设置在Build成功运行后运行)。
  3. 编辑第2-5个构建配置,在Dependencies中定义一个新的Artifact dependency(选择Add new artifact dependency,并选择您的Build配置的输出)。

只要有代理可用,构建配置将在Build成功后运行,每个都在自己的代理上运行。

顺便说一句,如果整个过程需要很长时间(比如超过15分钟),而且您可以使用那些机器(虚拟或实体),我建议这样做,但具体取决于您的项目情况。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接