Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在大型团队中使用声纳的最佳方式?_Java_Eclipse_Sonarqube - Fatal编程技术网

Java 在大型团队中使用声纳的最佳方式?

Java 在大型团队中使用声纳的最佳方式?,java,eclipse,sonarqube,Java,Eclipse,Sonarqube,我目前正在为一个拥有大量java代码库的大型(50+以上)开发团队部署Sonar。我无法用声纳制定出有效的工作流程。以下是一些问题: 如果开发人员使用sonar runner对中央服务器扫描代码: 他们需要上传大量的代码,尽管他们对一小部分类感兴趣 它们在上载具有不同版本的同一文件时发生冲突 使用Eclipse插件在本地运行Sonar会再次引发问题: 它分析所有代码,而您只对特定文件感兴趣 它不知道服务器上定义的误报,所以您会被不必要的警告淹没 我在夜间构建中集成了Sonar,但是开发人员只

我目前正在为一个拥有大量java代码库的大型(50+以上)开发团队部署Sonar。我无法用声纳制定出有效的工作流程。以下是一些问题:

  • 如果开发人员使用sonar runner对中央服务器扫描代码:
  • 他们需要上传大量的代码,尽管他们对一小部分类感兴趣
  • 它们在上载具有不同版本的同一文件时发生冲突
  • 使用Eclipse插件在本地运行Sonar会再次引发问题:
  • 它分析所有代码,而您只对特定文件感兴趣
  • 它不知道服务器上定义的误报,所以您会被不必要的警告淹没
  • 我在夜间构建中集成了Sonar,但是开发人员只在T+1时收到代码问题。更糟糕的是,开发人员签入未扫描的代码
  • 我们如何实现以下工作流程:

    • 允许开发人员在签入前分析特定的代码
    • 不会因为“重新打开”误报和被忽略的文件而给开发人员带来负担
    • 开发人员不会“过度编写”对方对未提交文件的分析
    • 与标准构建(Maven、SVN)集成以监视签入的内容

    我们团队正在做的是,我们已将Jenkins配置为在公共SVN上提交代码时调用sonar

    在Jenkins上,我们有数千个小项目(不到20个类),每个程序员都可以用他感兴趣的项目创建自己的仪表板页面


    此外,您可以将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插件也可以设置相同的模式。