代码质量检测神器——SonarQube 使用

一、SonarQube 简介

Sonar 是一个用于代码质量管理的开放平台。通过插件机制,可以支持众多计算机语言,比如 java, C#, go,C/C++, PL/SQL, Cobol, JavaScrip, Groovy 等,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具。与持续集成工具(例如 Hudson/Jenkins 等)不同,Sonar 并不是简单地把不同的代码检查工具结果(例如 FindBugs,PMD 等)直接显示在 Web 页面上,而是通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方便地对不同规模和种类的工程进行代码质量管理。

在对其他工具的支持方面,Sonar 不仅提供了对 IDE 的支持,可以在 Eclipse和 IntelliJ IDEA 这些工具里联机查看结果;同时 Sonar 还对大量的持续集成工具提供了接口支持,可以很方便地在持续集成中使用 Sonar。

此外,Sonar 的插件还可以对 Java 以外的其他编程语言提供支持,对国际化以及报告文档化也有良好的支持

特色功能:

1、使用Quality Gate对项目的代码质量评级;

2、使用Technical Debt描述代码质量问题带来的技术债务;

3、提供直观方便的web操作界面,支持任务的指派和跟踪,可以发表评论;

4、提供强大的代码规范规则,可手工开启或关闭;

5、提供多维度的各种统计和分析,包括像代码注释占比、重复代码分析等。

使用流程

1、开发负责人获取最新代码到本地;

2、开发负责人执行sonar-runner开始代码分析工作;

3、开发负责人将分析出来的issue指派给开发人员;

4、开发人员修复issue;

5、开发负责人重新获取最新源码,重新执行sonar-runner,检查issue的修复情况。

二、安装 SonarQube(MacOS)

SonarQube是服务器端,它主要有两个功能:

1、分析源代码;

2、因为它内嵌了Apache模块,所以提供Web端的界面访问。

SonarQube Runner是一个利用SonarQube服务端分析代码的命令行工具,可以把它简单理解为客户端。

1、SonarQube 下载安装

sonar 官网: https://www.sonarqube.org/

sonar 下载地址:https://www.sonarqube.org/downloads/

必要条件:https://docs.sonarqube.org/7.9/requirements/requirements/

SonarQube 依赖于 JDK,MySQL 版本,下载安装时检查好,避免踩坑。

  • sonarqube-7.8

  • MySQL >=5.6 && <8.0

  • JDK 至少1.8

下载完解压后效果图如下:

sonar-qube-1.png

2、SonarQube 安装

配置数据库连接

MySQL 创建sonar数据库,过程略,创建空数据库即可。

进入 sonarqube 解压缩之后的文件目录中,进入 conf 文件下,找到 sonar.properties 文件,添加MySQL数据库的连接配置信息如下:

#账号
sonar.jdbc.username=sonar
#密码
sonar.jdbc.password=sonar
#连接
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
#端口
sonar.web.port=9000

启动 SonarQube

进入到 bin 文件夹,里面支持各种操作系统,选择自己当前的操作系统。

sonar-qube-2.png

sonar支持的启动 6 个参数:console | start | stop | restart | status | dump

# 启动
➜  macosx-universal-64 sonar.sh start
Starting SonarQube...
Started SonarQube.

如果启动完成,但是依然不能访问,可以通过以下命令查看启动日志

cat $SONAR_HOME/logs/web.log

启动成功后访问:http://localhost:9000,效果如下:

sonar-qube-3.png

启动成功后,会在数据库中创建64张数据表。

sonar-qube-4.jpg

汉化语言

应用市场,搜索汉化包,安装

sonar-qube-5.jpg

如果出现版本不兼容情况,需要手动安装。

sonar-qube-6.jpg

汉化包地址:https://github.com/SonarQubeCommunity/sonar-l10n-zh/tags

将下载的jar包,拷贝到 /SonarQube/sonarqube-7.8/extensions/plugins 目录下,重新启动即可。

登录

点击左上角的的登录按钮登录。默认用户名和密码都是:admin

三、检查本地 Java 项目代码质量

sonar-scanner插件是用来分析软件的,和SonarQube配合使用。

下载:https://docs.sonarqube.org/latest/analysis/scan/sonarscanner/

解压目录

sonar-scanner-1.jpg

本文内容简单,如果需要使用Sonar-Scanner 方式请搜索其他文档,本篇文章不阐述,参考底部视频连接。

打开一个 maven 项目,执行命令 mvn sonar:sonar,编译完成后,会自动把分析结果上传到控制台。如下

sonar-qube-7.jpg

sonar-qube-8.jpg

查看细节

sonar-qube-9.jpg

文档

SonarQube插件开发:https://www.bilibili.com/video/BV144411P76e

GitLab + Jenkins + Sonar Qube 持续集成实践:https://www.bilibili.com/video/BV11J411674t/?p=38&t=74


未经允许请勿转载:程序喵 » 代码质量检测神器——SonarQube 使用

点  赞 (0) 打  赏
分享到: