2012-08-08 22 views
1

我目前正在为具有大量Java代码库的大型(50+)开发团队部署Sonar。我无法与Sonar一起制定有效的工作流程。这里有一些问题:在大型团队中使用Sonar的最佳方式是什么?

  1. 如果开发者使用的声纳亚军对中央服务器扫描其代码:
    1. 他们需要上传的代码吨的,虽然他们有兴趣在一个小的组类
    2. 他们发生冲突,因为他们上载不同版本的
  2. 运行声纳本地,使用Eclipse插件,再次引发问题的同一个文件:
    1. 它分析所有的代码,而你只关心特定的文件
    2. 它没有在服务器上定义的误报的知识 - 这样你就与不必要的警告
  3. 我综合声呐在每晚构建淹没,但那么开发人员仅在T + 1时才会收到代码问题。更糟的是 - 开发者检查未扫描的代码。

如何才能实现工作流程是:

  • 允许开发者分析具体代码前入住
  • 是否由“重开”不能负担开发商误报一个被忽略的文件
  • 开发人员不会“覆盖”彼此对未提交文件的分析
  • 与标准版本(Maven,SVN)集成以监控在
+0

问:当你说大代码库时 - 它是100个项目,每个包含50个Java文件还是1个项目包含5000个java文件? – 2012-08-08 06:10:20

+0

这[SO问题](http://stackoverflow.com/questions/11266854/can-sonar-plugin-exclusions-be-configured-for-local-analysis-without-a-local-ser)可能会有所帮助。基本上使用本地PMD和Checkstyle – 2012-08-08 06:34:40

+0

@Pulak - 8个项目,每个项目由几百个类组成。引用的答案没有解决我的问题,但谢谢。 – 2012-08-09 12:00:00

回答

1

我们在我们团队中做的是,我们已经配置Jenkins,每次在普通SVN上提交代码时都会调用声纳。

在詹金斯我们的小型项目(少于20个班),每个程序员都可以用他感兴趣的项目,创建自己的仪表板页面万。

此外,您可以设置詹金斯与Maven使项目相互依存。如果更改只发生在一个视图项目中(通常是最新的构建过程),它将阻止完全重建。

+0

这可能是正确的答案。你能澄清一下: - 这是我的开发人员通常首先登记并在当天晚些时候接收声纳输入吗? - 为什么你需要这么多小项目?它与你的特定环境有关还是由于一些詹金斯 - 声纳限制? – 2012-08-09 12:02:54

+0

1.是的,开发商一旦评估(从5分钟到1小时后),就立即登记并收到声纳结果。 2.小​​型项目的数量只与我们的环境有关,不与声纳或詹金斯有关。 – YMomb 2012-08-09 13:15:27

+0

对于checkstyle来说,我们所做的事情是,您可以将配置设置为Maven Checkstyle插件的Maven依赖项。然后开发人员可以在签入前运行本地checkstyle规则和项目特定配置。我猜想可以为findbugs/sonar/pmd maven插件设置相同的模式。 – YMomb 2012-08-09 13:19:14

相关问题