我已经在声纳中配置了一个项目,并使用maven集成了声纳,用于项目的构建时间分析。
分析后,生成报告并上传到Sonar进行浏览。但是,一旦另一个用户编译同一个项目,他们的报告就会覆盖我的。
基本上我希望一个项目的一个用户报告不会被其他用户的报告覆盖。用户必须能够独立查看其当前的违规行为。在Sonar有可能吗?
答案 0 :(得分:3)
Sonar每天存储它的分析,这解释了为什么在一天内多次运行分析是没有意义的。每次分析运行都将覆盖当天的现有结果,这反过来会破坏正在进行的统计分析。
我建议从像Jenkins这样的专用构建服务器运行Sonar(它有一个Sonar插件)。此日常分析将填充Sonar数据库并使项目仪表板保持最新状态。此体系结构还使您可以对数据库凭据保密。
显然,开发人员希望看到他们修复错误的结果。为此,我建议运行Sonar Eclipse插件。最新版本将在本地运行相同的声纳分析。 Sonar的最新版本还允许您将违规分配给开发人员以进行解决。
答案 1 :(得分:0)
这是不可能的,上次执行的分析将始终是您在界面中浏览的分析。但是,我猜您需要的是Issue Report Plugin,它将使分析能够在本地存储结果,并使用干运行选项。
通过这种方式,您的开发人员将能够对其代码运行分析,并在不推送结果的情况下查看违规增量。
答案 2 :(得分:0)
您可以通过在pom.xml中显式设置以下属性来做到这一点
<properties>
<sonar.projectKey>Test</sonar.projectKey>
<sonar.projectName>Test</sonar.projectName>
</properties>
如果您希望一个用户对一个项目的报告不被其他用户的报告覆盖,则每个用户都应设置不同的projectKey和projectName 。