我正在尝试使用Sonar runner在本地开发框中运行SonarQube进行预提交检查。我们有一个中央SonarQube服务器,每天都会进行分析并发布到仪表板。当我们每次在本地开发盒上运行时,问题报告都包含所有问题 new ,因此增量数据不可用。我也尝试过增量和预览模式但结果却是一些。
请在下面找到所用工具的版本。还有配置文件。如果需要其他一些数据,请告诉我。
SonarQube版本:5.1 Sonar Runner版本:2.4
sonar-runner.properties
sonar.host.url = http://[central声纳服务器]:9000 /
sonar.issuesReport.html.enable =真
sonar.login = admin
sonar.password =管理员
sonar-project.properties
sonar.projectKey =的Myproj:的Myproj主
sonar.projectName = MASTER_PROJECT
sonar.projectVersion = 21.0
sonar.sources =。/ SRC
sonar.binaries =。/ bin中/
sonar.issuesReport.html.enable =真
sonar.exclusions = COM / ** /测试/ *。java的
sonar.skipPackageDesign =真
sonar.profile = SonarWay
sonar.preview.excludePlugins = devcockpit,buildstability,pdfreport,报告,buildbreaker,视图,JIRA,issueassign,scmstats
使用的命令:
c:\ sonar-runner-dist-2.4 \ sonar-runner-2.4 \ bin \ sonar-runner -e -Dsonar.analysis.mode = preview -Dsonar.issuesReport.console.enable = true -Dsonar.issuesReport。 html.enable =真
更新了其他尝试的属性。在sonar-runner.properties
答案 0 :(得分:2)
我认为您的问题直接与您使用本地服务器有关。
预览分析的目的是允许您将本地更改与远程 SonarQube服务器上的内容进行比较。由于您的远程服务器每晚都会更新,因此针对它运行预览会向您显示当天推出的问题。相反,您正在针对本地实例运行,该实例将通过完整分析进行更新...从不?哪个(如果是真的)将是所有你的问题显示为新的原因。
要对远程服务器执行预览分析,您将需要相关项目的全局Execute Preview Analysis permission and the project-level Browse permission。
如果由于某种原因您无法获得这些权限(这可能是您运行本地SonarQube服务器的原因?)那么您想要在本地执行相同的全面结帐和分析每天晚上为官方远程服务器做的事情。即您可能需要建立第二个并行架构。简而言之,从长远来看,它可能更容易在远程服务器上获得适当的权限。
答案 1 :(得分:0)
问题已解决。 2件事情解决了这个问题。