SonarQube是管理代码质量一个开放平台,准备工作;
1、jdk(不再介绍)
2、sonarqube:https://www.sonarqube.org/downloads/
注:下载社区版-COMMUNITY-EDITION,我下载的是OMMUNITY-EDITION-6.7.6
2.1 解压sonarqube对应目录bin中打开对应系统目录下的启动文件,本位以windows-x86-64为例打开StartSonar.bat
2.2 打开浏览器http://localhost:9000出现sonarqube页面,可以在页面中安装中文插件包
安装完重新访问地址就是中文啦……
2.3配置sonarqube的数据库,因为他所有的分析数据等都要保存到库中,他会自动创建很多表,所以我们需要给他配置数据库,以mysql为例
使用root登陆MySQL,执行以下命令创建sonar数据库及用户授权等:
CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'sonar' IDENTIFIED BY 'sonar';
GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar';
GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';
FLUSH PRIVILEGES;
注意:数据名称,用户名,密码都为sonar,此处如果mysql版本过高,8.0以上的在赋权时需要去掉IDENTIFIED BY 'sonar',8.0以上版本grant 和identified不能连用。
2.4.修改sonarqube的配置文件,将mysql的配置加入。
目录:sonarqube-6.7.6\conf\sonar.properties
在配置文件中加入mysql的相关配置
#----- MySQL 5.6 or greater---此处是对mysql版本的要求,最低是5.6以上的版本
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
sonar.sorceEncoding=UTF-8
2.5重新启动sonarqube的服务,时间会稍微长一点,如果服务重启没有问题就可以,然后可以查询sonar数据库,你就会看到很多表啦,配置成功了!
暂时关于sonarqube的配置就这样啦,然后就是扫描仪sonarqube scanner的介绍
3、SonarQube+Scanner:https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner
注:可以根据不同的项目选择不同的扫描仪,我选择从命令行执行的扫描仪
因为需要从命令行执行,所有需要配置环境变量
a.新建变量,name=SONAR_SCANNER_HOME。value=对应sonarqube scanner的根目录;
b.打开path,输入%SONAR_SCANNER_HOME%\bin;
此处的环境变量名称原先的老版本是runner,现在是scanner
c.然后命令行做验证
4、第一个maven项目实战扫描
4.1修改maven项目的setting.xml文件,内容需与sonar.properties中设置的一致
目录:E:\apache-maven-3.3.9\conf\setting.xml 确保项目指定的文件为该目录下的文件
注:找到对应的标签填写相应的信息,标签的特点在复数中加入单个标签
a.在
b.在
sonar
true
http://localhost:9000
jdbc:mysql://localhost:3306/sonar
com.mysql.jdbc.Driver
sonar
sonar
4.2在命令行中运行maven项目
目录:项目名称的根目录,输入命令:mvn sonar:sonar
4.3在sonarqube中去查看刷新你的项目吧:http://localhost:9000/
至此sonarqube就配置完毕了,后续还有很多坑等我踩!