天天看点

搭建SonarQube代码质量平台——提升代码质量

作者:幻好 来源:恒生LIGHT云社区 SonarQube 是管理代码质量一个开放平台,可以快速的定位代码中潜在的或者明显的错误。 企业一般会搭建平台对项目的代码进行整体的校验,个人开发者也能在本机配置部署平台对相关代码进行分析。 本文将会介绍一下这个工具的安装、配置以及使用。

Sonar是一个用于代码质量管理的开源平台,用于管理代码的质量,通过插件形式可以支持二十几种语言的代码质量检测,通过多个维度的检查了快速定位代码中潜在的或者明显的错误。

搭建SonarQube代码质量平台——提升代码质量

  SonarQube是sonar的服务端,相当于一个web服务器中的tomcat,用来发布应用,在线浏览分析等。

sonarqubexxx.zip 并且解压即可,下载地址:http://www.sonarqube.org/downloads/

搭建SonarQube代码质量平台——提升代码质量

推荐安装 v7.8版本,更加稳定,且支持MySQL。

下载完成后解压后,进入<code>sonarqube-7.8\bin\windows-x86-64</code> 目录,点击 StartSonar.bat 启动即可,如下:

SonarQube 服务启动后,默认访问端口<code>http://127.0.0.1:9000/about</code>

搭建SonarQube代码质量平台——提升代码质量

在mysql数据库新建一个库的名称为 sonar

修改<code>./conf/sonar.properties</code> 的<code>db</code> 信息:

搭建SonarQube代码质量平台——提升代码质量

配置完成,重启 SonarQube ,数据库中会自动建表

搭建SonarQube代码质量平台——提升代码质量

访问9000端口然后进行登录即可,默认创建的用户名和密码都是<code>admin</code>

搭建SonarQube代码质量平台——提升代码质量

登陆后,可在system选项卡看到系统信息

搭建SonarQube代码质量平台——提升代码质量

Sonar-scanner 工具是对源码进行扫描,并将结果保存到数据库以便用上面的sonarqube进行分析

下载地址:https://docs.sonarqube.org/7.8/analysis/scan/sonarscanner/

下载解压后,需要配置数据库信息,打开<code>sonar-scanner-3.3.0.1492-windows\conf\sonar-scanner.properties</code> 文件

搭建SonarQube代码质量平台——提升代码质量

配置 Sonar-scanner 文件的 bin 目录地址,配置到环境变量中

搭建SonarQube代码质量平台——提升代码质量

配置完成后,在控制台验证,使用命令<code>sonar-scanner</code>

搭建SonarQube代码质量平台——提升代码质量

启动 SonarQube 服务后,进入目录<code>Administration-Marketplace</code> ,搜索插件<code>Chinese Pack</code> 并安装,即可汉化。

由于安装 SonarQube 版本较低,可以前往 Github 上下载汉化插件包

下载地址:https://github.com/xuhuisheng/sonar-l10n-zh/tree/sonar-l10n-zh-plugin-9.0

搭建SonarQube代码质量平台——提升代码质量

下载插件包到目录<code>Sonar\sonarqube-7.8\extensions\plugins</code> ,然后重启服务即可汉化

搭建SonarQube代码质量平台——提升代码质量

在使用 Sonar 扫描代码之前,需要先配置好需要验证的规则,我们可以在质量配置菜单,配置不同代码的验证规则

搭建SonarQube代码质量平台——提升代码质量

可以在右上角,自己创建或者导入备份的验证规则。

Java 可以配置以下相关插件,有大厂配置的一些配置

sonar-findbugs 插件

下载地址:https://github.com/spotbugs/sonar-findbugs

sonar-pmd-p3c 插件

下载地址:https://github.com/caowenliang/sonar-pmd-p3c

扫描项目前,需要在项目根目录创建扫描文件<code>sonar-project.properties</code>

创建配置文件后,可以在目录中打开控制台,输入命令<code>sonar-scanner</code> ,对项目代码进行扫描,扫描完成后就能在后台查看

SonarQube Unsupported JDBC driver provider: mysql

原因是SonarQube 7.9以上版本已不再支持mysql

SonarQube启动报错:WrapperSimpleApp: Encountered an error running main: java.nio.file.AccessDeniedExcepti

解决方法:删除sonarqube temp目录下的所有文件即可

有任何问题,欢迎私信交流。