Java 在大型团队中使用声纳的最佳方式?
我目前正在为一个拥有大量java代码库的大型(50+以上)开发团队部署Sonar。我无法用声纳制定出有效的工作流程。以下是一些问题:Java 在大型团队中使用声纳的最佳方式?,java,eclipse,sonarqube,Java,Eclipse,Sonarqube,我目前正在为一个拥有大量java代码库的大型(50+以上)开发团队部署Sonar。我无法用声纳制定出有效的工作流程。以下是一些问题: 如果开发人员使用sonar runner对中央服务器扫描代码: 他们需要上传大量的代码,尽管他们对一小部分类感兴趣 它们在上载具有不同版本的同一文件时发生冲突 使用Eclipse插件在本地运行Sonar会再次引发问题: 它分析所有代码,而您只对特定文件感兴趣 它不知道服务器上定义的误报,所以您会被不必要的警告淹没 我在夜间构建中集成了Sonar,但是开发人员只
- 允许开发人员在签入前分析特定的代码
- 不会因为“重新打开”误报和被忽略的文件而给开发人员带来负担
- 开发人员不会“过度编写”对方对未提交文件的分析
- 与标准构建(Maven、SVN)集成以监视签入的内容
此外,您可以将Jenkins与Maven一起设置,以便项目相互依赖。如果更改只发生在一个视图项目中(通常是最新的构建过程),则会阻止完全重建。我们团队正在做的是,我们已将Jenkins配置为在公共SVN上提交代码时调用sonar 在Jenkins上,我们有数千个小项目(不到20个类),每个程序员都可以用他感兴趣的项目创建自己的仪表板页面
此外,您可以将Jenkins与Maven一起设置,以便项目相互依赖。如果更改只发生在一个视图项目中(通常是最新的构建过程),则会阻止完全重建。Q:当您说大型代码库时,是100个项目,每个项目有50个Java文件,还是1个项目有5000个Java文件?这可能会有所帮助。基本上使用本地PMD和Checkstyle@Pulak-8个项目,每个项目由几百个班组成。引用的答案没有解决我的问题,但是谢谢。问:当你说大型代码库时,是100个项目,每个项目有50个Java文件,还是1个项目有5000个Java文件?这可能会有所帮助。基本上使用本地PMD和Checkstyle@Pulak-8个项目,每个项目由几百个班组成。引用的答案并没有解决我的问题,但谢谢。这可能是正确的答案。你们能澄清一下吗:-这是否意味着开发者通常会先登记,然后在当天晚些时候接收声纳输入为什么你需要这么多的小项目?这是与您的特定环境有关还是由于詹金斯声纳的某些限制。是的,开发人员在进行评估后(5分钟到1小时后)立即登记并接收声纳结果。2.小型项目的数量只与我们的环境有关,与sonar或jenkins无关。例如,对于checkstyle,我们所做的是,您可以将配置设置为Maven checkstyle插件的Maven依赖项。然后,开发人员可以在签入之前使用特定于项目的配置在本地运行checkstyle规则。我想findbugs/sonar/pmd maven插件也可以设置相同的模式。这可能是正确的答案。你们能澄清一下吗:-这是否意味着开发者通常会先登记,然后在当天晚些时候接收声纳输入为什么你需要这么多的小项目?这是与您的特定环境有关还是由于詹金斯声纳的某些限制。是的,开发人员在进行评估后(5分钟到1小时后)立即登记并接收声纳结果。2.小型项目的数量只与我们的环境有关,与sonar或jenkins无关。例如,对于checkstyle,我们所做的是,您可以将配置设置为Maven checkstyle插件的Maven依赖项。然后,开发人员可以在签入之前使用特定于项目的配置在本地运行checkstyle规则。我想findbugs/sonar/pmd maven插件也可以设置相同的模式。