SonarQube安装与SonarLint插件
SonarQube
代码质量分析工具简介
代码质量包括可读性、可维护性、简洁性、健壮性、注释及命名规范等多方面的内容,通过对代码进行质量分析可以进行更好的对项目代码进行规范、减少潜在问题的发生概率,同时也有利于提高代码的可读性和可维护性。
可以利用SonarQube,FindBugs等自动化工具进行代码质量分析,这些工具可以在规定的规范下完成程序的语法、接口等多方面的审查。
以本次使用的SonarQube为例,它是一个开源的代码质量管理平台,涵盖了架构设计、注释、编码规范、潜在缺陷、代码复杂度、重复代码等多个维度的质量分析。SonarQube软件是一种静态代码检查工具,采用B/S架构,帮助检查代码缺陷,改善代码质量,提高开发速度,通过插件形式,可以支持Java、C、C++、JavaScript等等多种编程语言的代码质量管理与检测。
SonarQube安装
本文安装SonarCube7.6,配置JDK1.8.0-216以及MySql环境,采用mysql-community-5.7.25.0。
JDK官网下载
SonarCube官网
MySQL官网
JDK配置
下载JDK1.8.0.X安装文件并按照提示完成安装,然后配置环境变量。
在“环境变量”窗口中“新建”一个用户变量:JAVA_HOME,其值设置为JDK的安装目录。
设置PATH路径:%JAVA_HOME%\bin;
设置CLASS_PATH :%JAVA_HOME%\lib;
检测配置是否成功可以打开命令行输入:Java -version
MySQL配置
基本上直接按照installer提示安装没有问题就可以,一定要记住安装时的密码,安装可以参考:
MySQL安装
MySQL安装时需要注意是否安装过或者正在使用MarieDB等数据库,这里遇到过问题:
- 安装卡在starting server
卡在StartingServer解决办法
安装后配置如下:
- 打开cmd命令行输入:mysql -uroot -p 回车后输入安装密码登录MySQL。
- 创建数据库sonar:
CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
- 创建用户sonar,密码设置为sonar:
CREATE USER 'sonar' IDENTIFIED BY 'sonar';
- 把已经创建的数据库sonar权限赋给该用户:
GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar';
GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';
FLUSH PRIVILEGES;
- 查看当前数据库:
show databases;
SonarCube配置
-
解压安装包后编辑sonar.properties文件:
加入如下内容:
具体内容:sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false sonar.jdbc.username=root sonar.jdbc.password=root sonar.sorceEncoding=UTF-8 sonar.login=admin sonar.password=admin
配置解析:
第一行: 链接myslq数据库地址,数据库名。sonar问号后面是格式内容;
第二/三行: mysql的账号/密码;
第四行: 支持的编码格式;
第五/六行: sonar登录时的账号密码,默认就是admin。 -
启动SonarCube
以上配置好之后,找到bin\window-x86-64 下的StartSonar.bat启动:
启动成功命令窗口如图:
在浏览器输入:http://localhost:9000即可访问,如未修改默认账号密码<admin,admin>登录:
AndroidStudio与SonarLint插件
由于本文进行的是Gradle项目的质量分析,采用的IDE是Android Stuidio,因此直接安装SonarLint插件使用。
- 打开Setting->Plugins搜索:sonarlint并安装。
- 配置本地SonarCube:打开setting->tools->sonarlint->project settings
进行配置:
跳转到配置界面,点击+号添加绑定:
利用Token或者账号密码进行登录:
3. 打开SonarLint视图就可以进行质量检查啦~
参考博客
代码静态扫描工具sonar
SonarQube代码质量管理平台安装与使用