对于中大型开发团队来说,开发人员的经验水平难免参差不齐,而木桶定律往往一块短板就会造成严重的质量问题乃至项目崩溃。所以需要代码质量管理平台来进行分析,找出隐藏的bug,提升代码交付的质量。
下面使用sonarQube搭建一个代码质量管理平台。
一、部署:
1、下载sonarQube
https://www.sonarqube.org/downloads/ 下载最新版本
解压到本地磁盘
D:Toolssonarqube-7.5
2、安装mysql,创建数据库
mysql版本5.6.42
创建数据库:create database sonar;
创建用户并授权:CREATE USER 'sonar'@'%' IDENTIFIED BY 'sonar';
3、修改mysql配置
这里要添加一个配置项,否则在后面启动sonarQube的时候会报错,数据库初始化失败,错误信息如下:
Caused by: java.sql.SQLException: Cannot execute statement: impossible to write to binary log since BINLOG_FORMAT = STATEMENT and at least one table uses a storage engine limited to row-based logging. InnoDB is limited to row-logging when transaction isolation level is READ COMMITTED or READ UNCOMMITTED.
解决方法是在my.conf里面加一项:
binlog-format=MIXED # 指定binlog格式为mixed。默认为STATEMENT,数据无法正常migration
重启mysql,service mysql start
4、修改sonarQube的配置文件D:Toolssonarqube-7.5sonarqube-7.5confsonar.properties
在Mysql >=5.6下面加上:
sonar.jdbc.url=jdbc:mysql://188.188.0.15:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
sonar.sorceEncoding=UTF-8
5、至此可以启动sonarQube了,执行D:Toolssonarqube-7.5sonarqube-7.5binwindows-x86-64StartSonar.bat
程序会进行数据库初始化,需要等待一点时间,启动完成后如下:
数据库如下:
6、打开浏览器访问http://localhost:9000/ 可以看到页面,点击登录,默认是admin/admin
二、使用
我们的项目是maven工程,maven版本是3.5.4。
1、修改maven的配置文件settings.xml,加入以下配置项:
2、到项目主目录下执行如下命令:
mvn clean verify sonar:sonar
看到以下内容就是成了:
3、刷新页面查看分析报告
三、代码质量管理平台不单是代码扫描工具,也是搭建自动化版本发布平台的重要组件之一。
OK!!