SonarQube是一种自动化的代码质量检查工具,它能够通过静态代码分析来检测代码中的错误、漏洞、代码异味等问题,并生成详细的代码质量报告。它支持多种编程语言(如Java、Python、PHP、JavaScript、C/C++等),能够检测代码中的复杂性、重复代码、单元测试覆盖率、代码规则符合性、注释率、潜在Bug以及结构与设计等多个方面的问题。
准备工作
先给出本次分析TS项目所需的环境、软件及插件:
- sonarqube-9.9.6.92038 (社区免费版)
- sonar-scanner-cli-6.1.0.4477-windows-x64
- Node.js 16.20.0
- JDK 17(记得要配置环境变量)
- Win10
- sonar-l10n-zh-plugin-9.9.jar (汉化插件)
- sonar-pdfreport-plugin-4.0.1.jar(导出分析报告为PDF的插件)
工具链接(sonarqube-9.9.6.92038 + sonar-scanner-cli-6.1.0.4477-windows-x64)
链接: pan.baidu.com/s/1GLR4tYiX… 提取码: 3psn
或者下载其他版本 SonarQude历史版本Download
扫描JS和TS项目需要依赖Node,确保本地已经安装了NodeJS,Node的版本的要求也会因SonarQube和Scanner的版本而不同,所以一定要看对应版本文档
中的环境配置要求。
配置
在SonarCude的安装目录下修改配置 【安装目录/conf/sonar.properties】
,配置数据库的地址、用户名及密码,我用的是PostgresSQL,因为SonarCude支持Oracle、PG、SQL Server等多种数据库,所以配置的时候一定要找对应的数据库的配置
位置。当然,里面还有其他的配置可根据自身项目的实际情况修改,比如前端web服务的默认端口9000。
在SonarCude的安装目录下双击运行【安装目录/bin/windows-x86-64/StartSonar.bat】
启动成功后,浏览器地址访问 http://localhost:9000
默认登录账号密码:admin/123456
新建项目:
选择本地项目
:
创建令牌:
选择构建技术
和操作系统
:
复制上面给出的命令,在你的项目根目录下打开CMD执行,注意这里如果没有添加sonar-scanner
的环境变量可能会报错,一种方案是图中提示的添加bin目录
到环境变量,另一种直接在sonar-scanner.bat
前面加上文件所在目录地址,如C:\sonar-scanner-cli-6.1.0.4477-windows-x64\bin\sonar-scanner.bat -D ... ...
,执行之后静静等待,直到扫描分析完成。
扫描分析完成后,浏览器中会自动显示分析的结果,点击可查看具体的问题,进行修改。
关于检验规则
SonarQude针对不同语言内置了默认的检测规则,可以根据自己项目的实际情况进行修改。注意如果要修改,建议复制一份默认的配置规则再修改;
另外,还可以查看每种语言对应的所有规则集合及判别的类型(严重、一般等):
关于插件
SonarQube支持丰富的插件以扩展其功能,如果需要相应功能需要手动安装。上面的云盘链接提供了两个常用的插件:汉化和导出PDF。下载插件后拷贝到安装目录下的extensions\plugins
中,重启SonarQube服务即可。项目分析完成后即可导出PDF。
写在最后
SonarQube不仅支持离线本地部署、Docker部署等,而且在很多IDE中可以有对应的插件可以下载;此外,SonarQube还可以集成到开发的工作流程中,如Jenkins、Gitlab等,大家都可以根据自己项目的实际情况选择部署。