使用TFS 2008实现代码分析,影响最小

时间:2011-09-20 21:24:26

标签: visual-studio-2010 code-analysis tfs2008 checkin

我们在TFS 2008上有一个包含172个项目的.NET Web应用程序,它包含应用程序的所有3个层次,并使用Team Build for CI。我们使用VS2010进行开发。

我们希望使用最小推荐规则集激活所有项目的代码分析,并在TFS中强制执行签入策略,以便在您签入之前运行一次代码分析。但我们希望对开发人员的影响最小关于他们的定期开发检查过程。每当我们在项目的属性中启用代码分析时,该项目的正常构建时间就会增加100%。 我们对代码分析问题进行了分析,尽管它们甚至对于这个规则集也有很多分析,但是它可以在所有可以修复它们的开发人员中进行分发,同时进行现有的增强。

基本上我们有两种类型的构建:

  1. 正常构建以检查在我们签入代码之前多次发生的代码的适当性。
  2. 在办理登机手续之前的最终版本,我们还要检查代码分析。
  3. 因此我们创建了另一个名为“DebugWithCA”的解决方案配置,它的项目启用了代码分析,因此在开发人员检入代码之前,他将配置从Debug切换到DebugWithCA,构建并修复代码分析问题,然后检查。因此,对于正常构建,开发人员保持在调试解决方案配置中,并且不必承担由代码分析引起的额外构建时间。

    但这似乎也是一种开销,因为我们在白天有很多签到(许多开发人员),每次办理登机手续时切换解决方案配置都会变得很麻烦。

    是否有更简单的方法来完成我们的要求? 在进行构建时,是否存在可以分配的快捷键,以便使用代码分析构建或使用VS2010中的特定解决方案配置进行构建?

1 个答案:

答案 0 :(得分:0)

我可以想到两种实用的方法来规避你的问题。这两个建议都将代码分析从开发人员的关键开发路径/时间中分离出来。

  1. 在Gated Check-in中激活 DebugWithCA 配置。开发人员只需检入代码,构建系统就会确保执行代码分析,只有在没有违反基本规则的情况下才会接受更改。
  2. 更轻松;只需基于 DebugWithCA 配置执行Rolling Builds。开发人员可以离线接收规则违规。不太喜欢的选择,但也不那么具有侵入性。