环境配置
SonarQube是基于java运行的程序,所以首先我们本地要有java运行环境,需要安装jdk,环境依赖的详细信息请查看官方文档https://docs.sonarqube.org/latest/requirements/requirements/.推荐使用 java11。SonarQube也支持连接数据库将检测结果输入数据库,本地项目扫描暂时用不到,不需要关心。
软件下载
下载SonarQube软件
1.官网下载:https://www.sonarqube.org/downloads/
版本:该教程使用的是Community Edition 9.7
注意:SonarQube 9.9 LTS 版本在我本地无法正常启动,如遇相同问题可尝试切换版本
启动SonarQube服务
解压下载包,按照自己的需要选择相应的包,因为我是mac系统,我选择的是macosx-universal-64
进入macosx-universal-64目录,将目录下的sonar.sh文件拖入终端并加上start命令运行直接拖入并回车还可以查看不同的命令。
首次启动服务可能时间要久一点,当服务启动成功之后,可通过在浏览器输入http://localhost:9000/查看页面。
当出现以上页面表示服务启动成功。SonarQube安装成功,接下来我们继续安装sonar-scanner。
sonar-scanner下载
SonarQube相当于sonar扫描的服务端,而sonar-scanner则是sonar扫描的客户端,只不过这是一个客户端的命令行工具。
- 官网下载:https://docs.sonarqube.org/latest/analysis/scan/sonarscanner/
选择相应的版本下载。
- 环境变量配置
解压安装包。
打开终端,执行vim ~/.bash_profile命令,将安装包的bin目录配置进环境变量,并保存环境变量。
在终端运行:sonar-scanner -v
验证sonar-scanner是否安装成功。
出现以上信息则说明安装成功。
插件安装
你可能会发现我的网页截图中显示的是中文,这是因为我安装了中文插件。SonarQube的插件是通过.jar包的形式安装的。将下载好的插件包,放在extensions/plugins目录下,
重新启动SonarQube,插件包将生效。
官方插件列表:https://docs.sonarqube.org/latest/instance-administration/plugin-version-matrix/
中文插件:https://github.com/xuhuisheng/sonar-l10n-zh/releases
pdf插件(可将扫描报告生成pdf文件):https://gitee.com/zzulj/sonar-pdf-plugin/releases/tag/v4.0.1
项目创建
首次登录账号和密码都为admin,登录之后需要修改密码,密码修改成功重新登录进入系统。
可创建不同的项目类型,这里可选择** 手工**创建项目。
输入项目名和项目key点击设置。
进入需要扫描的项目的跟目录,创建sonar的配置文件sonar-project.properties
#sonarqube服务器地址,默认为9000
sonar.host.url=http://localhost:9000
#sonarqube用户名
sonar.login=<替换为你的用户名>
#sonarqube密码
sonar.password=<替换为你设置的密码>
#项目唯一标识(不能出现重复)
sonar.projectKey=<替换为你项目的key>
#项目名称
sonar.projectName=<替换为你的项目名称>
#源代码目录
sonar.sources=<你的源码目录>
# 用逗号分割来指定多个目录
# sonar.sources=src, tests
# 测试代码目录
sonar.tests = <你的测试代码目录>
#语言
sonar.language=js
# sonar.language=javascript
#源代码文件编码
sonar.sourceEncoding=UTF-8
# 更多参数:https://docs.sonarqube.org/latest/analysis/analysis-parameters/
在项目根目录运行:
sonar-scanner
等待运行结束后可在http://localhost:9000/中查看扫描结果
我们本地项目sonar扫描基本就完成了,当然,还有很多高级的功能我们还没用到,比如自定义扫描规则。有兴趣的小伙伴可以继续研究学习。