sonar 使用常见问题总结
目录
前言
正文
问题一、ERROR: Not authorized. Please check the properties sonar.login and sonar.password.
问题二、SCM provider autodetection failed. Both svn and git claim to support this project. Please use sonar.scm.provider to define SCM of your project.
问题三、ERROR: Not inside a Git work tree
结尾
前言
Sonar 是一个开源平台,用于管理源代码质量的工具。Sonar 不只是一个质量数据报告工具,更是代码质量管理的平台。它支持非常多的语言,包括常见的 Java、PHP、C#、C、Golang、JS 等。在安装部署和使用的过程会经常遇到各种问题,今天简单梳理一下自己遇到的几个问题。
正文
问题一、ERROR: Not authorized. Please check the properties sonar.login and sonar.password.
一般工程管理界面会给出执行命令的实例,如下图所示:
我们修改路径和 key 之后,执行该示例命令,发生了报错(我就知道没有那么简单),报错详情如下:
INFO: Scanner configuration file: G:\project\LLL\sonar-scanner-4.6.2.2472-windows\bin..\conf\sonar-scanner.properties
INFO: Project root configuration file: NONEINFO: SonarScanner 4.6.2.2472
INFO: Java 11.0.11 AdoptOpenJDK (64-bit)
INFO: Windows 10 10.0 amd64INFO: User cache: C:\Users\PC.sonar\cache
INFO: Scanner configuration file: G:\project\LLL\sonar-scanner-4.6.2.2472-windows\bin..\conf\sonar-scanner.properties
INFO: Project root configuration file: NONE
INFO: Analyzing on SonarQube server 9.1.0
INFO: Default locale: "zh_CN", source code encoding: "GBK" (analysis is platform dependent)
INFO: Load global settings
INFO: -------------------------
INFO: EXECUTION FAILUREINFO: ----------------------
INFO: Total time: 11.837sINFO: Final Memory: 5M/20M
INFO: ------------------------
ERROR: Error during SonarScanner execution
ERROR: Not authorized. Please check the properties sonar.login and sonar.password.
ERROR:ERROR: Re-run SonarScanner using the -X switch to enable full debug logging.
报错截图:
解决:
报错原因是缺少用户密码,增加 -D"sonar.password=123456" 参数,具体命令如下:
sonar-scanner.bat -D"sonar.projectKey=bag" -D"sonar.sources=G:\project\LLL\bag" -D"sonar.host.url=sonar.lozen.com" -D"sonar.login=lozen" -D"sonar.password=123456"
执行结果:
INFO: More about the report processing at sonar.lozen.com/api/ce/task…
INFO: Analysis total time: 4.726 s
INFO: -------------------------------------------------------------------
INFO: EXECUTION SUCCESS
INFO: -------------------------------------------------------------------
INFO: Total time: 55.062s
INFO: Final Memory: 8M/30M
INFO: -------------------------------------------------------------------
好啦,已经这里的问题已经解决了。
问题二、SCM provider autodetection failed. Both svn and git claim to support this project. Please use sonar.scm.provider to define SCM of your project.
上面的问题一解决之后,我们回到项目管理页面查看执行结果,发现了这个报错信息。
解决:
在执行检测命令时,增加 -D"sonar.scm.provider=git" 参数,具体命令如下:
sonar-scanner.bat -D"sonar.projectKey=bag" -D"sonar.sources=G:\project\LLL\bag" -D"sonar.host.url=sonar.lozen.com" -D"sonar.login=lozen" -D"sonar.password=123456" -D"sonar.scm.provider=git"
问题三、ERROR: Not inside a Git work tree
上面的问题解决了,又出现了这个报错,真是踩完一坑又一坑,坑坑在等你。
报错信息:
INFO: Indexing files...
INFO: Project configuration:
INFO: --------------------------------------------------------------------
INFO: EXECUTION FAILURE
INFO: --------------------------------------------------------------------
INFO: Total time: 6.411s
INFO: Final Memory: 7M/24M
INFO: --------------------------------------------------------------------
ERROR: Error during SonarScanner execution
ERROR: Not inside a Git work tree: G:\project\LLL\sonar-scanner-4.6.2.2472-windows\bin
ERROR:ERROR: Re-run SonarScanner using the -X switch to enable full debug logging.
报错截图:
解决:报错信息非常明确,需要我们把工具目录放到指定的项目工程中去,再运行命令,问题解决。
最终的结果在 sonar 后台看到如下信息:
但是,截图左下角提示工程主分支是空的,让我很苦恼,明明不是空的呀,看来还得继续排查,这部分内容让我们放到下一期吧。
结尾
sonar 确实是一个好工具,但是问题也不少,今天关于 sonar 使用过程中遇到的问题就介绍这么多,晚安。
作者简介:大家好,我是 liuzhen007,是一位音视频技术爱好者,同时也是 CSDN 博客专家、华为云社区云享专家、签约作者,欢迎关注我分享更多干货!
版权声明: 本文为 InfoQ 作者【liuzhen007】的原创文章。
原文链接:【http://xie.infoq.cn/article/c7a331007782cc108a9ab94f3】。文章转载请联系作者。
评论