在之前的开发中,代码的工作量化和质量化都是一个问题,随着近几年互联网行业的快速发展,代码已经可以来工作量化和质量化,今天我们来说说代码的质量化。代码的质量不是一个小问题,代码的质量问题可能会导致整个软件项目的失败,甚至更严重的问题,因此在日常的代码开发过程中加强代码审计工作(PM)是必要的,同时开发人员自己也应该注重代码质量。目前行业内对代码质量化分析工具有阿里巴巴的p3c、Sonar质量分析工具等,本文我们主要来研究下Sonar这个相比功能比较强大的质量分析工具。

一、简介

SonarQube 是一个代码质量管理的开放平台。通过插件机制,SonarQube 可以集成不同的测试工具,代码分析工具,以及持续集成工具。与持续集成工具(例如JenKins、Hudson等)不同,SonarQube 并不是简单地把不同的代码检查工具结果(例如 FindBugs、PMD等)直接显示在 Web 页面上,而是通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方便地对不同规模和种类的工程进行代码质量管理。

在对其他工具的支持方面,SonarQube 不仅提供了对IDE的支持,可以在Eclipse和IntellijIdea 这些工具里联机查看结果;同时 SonarQube 还对大量的持续集成工具提供了接口支持,可以很方便地在持续集成中使用 SonarQube 。 此外,SonarQube 的插件还可以对Java以外的JavaScript、Xml、C#等其他编程语言提供支持,对国际化以及报告文档化也有良好的支持。

二、准备工作

1.代码分析管理平台SonarQube安装包(本文7.1)
sonarqube-7.1.zip
下载地址:https://www.sonarqube.org/downloads

2.代码分析扫描工具Scanner安装包(本文2.5)
sonar-scanner-2.5.zip
下载地址:https://sonarsource.bintray.com/Distribution/sonar-scanner-cli

3.JDK(本文1.8)
下载地址:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html

4.mysql数据库(本文5.5.56)
下载地址:https://dev.mysql.com/downloads/mysql

三、部署过程

1.解压代码分析管理平台SonarQube安装包sonarqube-7.1.zip

2.解压代码分析扫描工具Scanner安装包sonar-scanner-2.5.zip

3.配置环境变量
终端输入vi /etc/profile编辑环境变量

终端输入source /etc/profile使环境变量生效

4.编写启动脚本

5.启动SonarQube
在终端执行我们刚编写的启动脚本

此刻,SonarQube已经启动成功,我们访问http : // localhost: 9000

然后我们登陆SonarQube代码质量分析系统,用户名/密码 , 默认admin/admin

备注,里面的两个项目是我之前分析过的。

6.配置SonarScanner项目扫描工具
我们首先编写一个sonar-project.properties的配置文件

然后将改配置文件放到被分析检查项目的目录下

注意:如果项目处于版本控制中,会连接版本控制工具去检查,如果连接不通会报错误,这里我们直接删除和svn的关联,然后进行代码检查

7.运行SonarScanner代码扫描工具
进入我们要扫描的项目的更目录下面,运行终端执行sonar-scanner

等待项目被扫描分析完成:



扫描分析完成我们登陆SonarQube代码分析管理平台查看被分析的项目:

我们点进去看下改项目代码分析的详情


四、总结

本文主要说了下代码质量分析工具SonarQube,该工具可以分析出项目的代码质量,目前我们已经成功的部署了SonarQube代码分析管理平台,并且运行SonarScanner代码扫描工具扫描分析了项目的代码质量,下篇文章我们将介绍使用SonarQube代码分析管理平台怎么去监控项目代码质量、分析项目质量、解决项目中的质量问题等,本文中还有一个问题,就是SonarQube默认使用的内嵌数据库,对于测试来说是够用了,但是正式使用会有一些限制,下文中我们将介绍SonarQube如何使用外置的mysql数据库。