如何在 sonarqube 5.0 中使用 git 作为 scm 提供程序(使用 sonar-runner )

How can I use git as the scm provider in sonarqube 5.0 ( using sonar-runner )

我在关注sonarqub的官方支持 http://docs.sonarqube.org/display/SONAR/SCM+support

我得到上面的错误。

我是不是漏掉了什么需要配置的东西,或者配置错了

08:46:33.723 INFO - Sensor SCM Sensor...
08:46:33.897 INFO - SCM provider for this project is: git
08:46:33.898 INFO - Retrieve SCM blame information...
08:46:33.915 INFO - 632 files to be analyzed
08:46:34.377 INFO - Author: PersonIdent[Not Committed Yet, , Tue Feb 3 08:46:34 2015 +0000]
08:46:34.379 INFO - Source commit: null
08:46:34.377 INFO - Author: PersonIdent[Not Committed Yet, , Tue Feb 3 08:46:34 2015 +0000]
08:46:34.924 INFO - Source commit: null
INFO: ------------------------------------------------------------------------
INFO: EXECUTION FAILURE
INFO: ------------------------------------------------------------------------
Total time: 1:01.699s
08:46:35.891 INFO - Author: PersonIdent[Not Committed Yet, , Tue Feb 3 08:46:35 2015 +0000]
08:46:34.930 INFO - Author: PersonIdent[Not Committed Yet, , Tue Feb 3 08:46:34 2015 +0000]
08:46:35.930 INFO - Source commit: null
Final Memory: 27M/318M
INFO: ------------------------------------------------------------------------
ERROR: Error during Sonar runner execution
ERROR: Unable to execute Sonar
ERROR: Caused by: Unable to blame file

非常感谢。

这是因为当运行进行分析时,SonarQube 期望所有文件都应该被提交。

事实上,SonarQube 假定当您 运行 标准分析(将数据推送到服务器)时,项目的单个文件不应该有任何未提交的更改,因为这可能会推送信息这与存储库中的真实源代码无关。这就是分析会失败的原因。

当您 运行 预览分析时显然不是这种情况:由于这种分析不会将数据推送到服务器并且仅在本地报告问题,因此未提交的更改不是问题并且因此分析不会失败。

我更新了 the documentation 以使其更清楚。