我试图摆弄SonarQube,现在我正在学习增量模式。以我的理解,它应该仅分析更改的文件。

因此,我的第一个测试就是在项目上两次运行SonarQube,而无需进行任何更改。我在装有SSD驱动器和I7 CPU的Windows 7 64位计算机上运行本地安装的SonarQube(5.1.2)。我们使用Java 1.7和Maven 3.3.3。我们的项目是相当大的Maven(约570个模块),其中大多数是Java代码。在运行单元测试的 jacoco prepare-agent 以及我的单元测试后,我知道运行 sonar:sonar 并创建报告的时间到了。

所以我尝试的是:
mvn sonar:sonar -Dsonar.analysis.mode=incremental -Dsonar.host.url=http://localhost:9000 -Dsonar.java.coveragePlugin=jacoco
运行20分钟。好的,现在我再次运行相同的命令,没有做任何更改,它仍然运行相同的20分钟

所以我的问题是-是否有人可以向我解释如何正确使用增量模式?我很难理解自己在做什么,我的理解是第二次运行必须要快得多,否则在这里预览模式不会有任何优势。

谢谢马克

最佳答案

自服务器上最新的“常规”分析以来,增量模式将仅分析更改的文件。因此,在您的情况下,您应该首先运行常规(现在称为“发布”)分析:

mvn sonar:sonar -Dsonar.java.coveragePlugin=jacoco

然后,您可以使用增量模式:
mvn sonar:sonar -Dsonar.analysis.mode=incremental -Dsonar.java.coveragePlugin=jacoco

09-25 19:39