sonarqube扫描平台搭建

一、 sonarqube-7.5平台搭建
SonarQube为静态代码检查工具,是管理代码质量一个开放平台,可以快速的定位代码中潜在的或者明显的错误。采用B/S架构,帮助检查代码缺陷,改善代码质量,提高开发速度,通过插件形式,可以支持Java、C、C++、JavaScripe等等二十几种编程语言的代码质量管理与检测。
通过客户端插件分析源代码,sonar客户端可以采用IDE插件、Sonar-Scanner插件、Ant插件和Maven插件方式,并通过各种不同的分析机制对项目源代码进行分析和扫描,并把分析扫描后的结果上传到sonar的数据库,通过sonar web界面对分析结果进行管理

架构图
在这里插入图片描述

可以从七个维度检测代码质量:
(1)复杂度分布(complexity):代码复杂度过高将难以理解
(2) 重复代码(duplications):程序中包含大量复制、粘贴的代码而导致代码臃肿,sonar可以展示源码中重复严重的地方
(3) 单元测试统计(unit tests):统计并展示单元测试覆盖率,开发或测试可以清楚测试代码的覆盖情况
(4) 代码规则检查(coding rules):通过Findbugs,PMD,CheckStyle等检查代码是否符合规范
(5) 注释率(comments):若代码注释过少,特别是人员变动后,其他人接手比较难接手;若过多,又不利于阅读
(6) 潜在的Bug(potential bugs):通过Findbugs,PMD,CheckStyle等检测潜在的bug
(7) 结构与设计(architecture & design):找出循环,展示包与包、类与类之间的依赖、检查程序之间耦合度
个人使用之后认为 : sonarQube的优势如下(相比于阿里编码规约这种市面上常见类似软件):

  1. 更加优秀的图形化界面
    基本上通过界面就可以对自己项目的代码状况一目了然
  2. 可以查询出其它软件难以定位到的问题
    比如 : 可能导致空指针异常的问题 (对象在进行使用前没有加空的判断)
    可能导致内存泄漏的问题, 在try catch 块里面,直接使用e.printStackTrace()将堆栈信息打印到内存的
    可能导致的漏洞 : 成员变量使用public定义的
    还有诸如 : 流等未关闭或者是非正常关闭都能够检测出来!
    功能非常强大!!

下面将会介绍一下这个工具的安装、配置以及使用
环境部署:sonar7.5+mysql5.7+ jdk1.8+ sonar-scanner-3.3

准备工作;
1、jdk(不再介绍),sonarqube-7.5使用jdk1.8
2、sonarqube:http://www.sonarqube.org/downloads/
3、SonarQube+Scanner:https://sonarsource.bintray.com/Distribution/sonar-scanner-cli/sonar-scanner-2.5.zip
4、mysql数据库(不再介绍)
sonarqube-7.5对应 MySQL >=5.6 && <8.0
二、 安装篇
1.下载好sonarqube后,解压打开bin目录,启动相应OS目录下的StartSonar。如本文演示使用的是win的64位系统,则打开D:\sonar\sonarqube-5.3\sonarqube-5.3\bin\windows-x86-64\StartSonar.bat
Linux启动命令,sonar的所有者登录执行:
$ sh sonar.sh start
其他:Usage: sonar.sh { console | start | stop | restart | status | dump }
2.启动浏览器,访问http://localhost:9000,如出现启动页面表示安装成功。

三、 配置篇

  1. 打开mysql,新建一个数据库sonardb。

  2. 打开sonarqube安装目录下的D:\sonar\sonarqube-7.5\conf\sonar.properties文件,修改文件:
    在mysql5.X节点下输入以下信息
    sonar.jdbc.url=jdbc:mysql://localhost:3306/sonardb?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
    sonar.jdbc.username=root
    sonar.jdbc.password=111111
    sonar.sorceEncoding=UTF-8
    sonar.login=admin
    sonar.password=admin

###这里不配置用户命名在扫描时无法登陆,或者scanner中配置
(注意数据库版本与sonar的兼容关系,或连接信息不对也连接不上,会强制关闭连接)
url是数据库连接地址,username是数据库用户名,jdbc.password是数据库密码,login是sonarqube的登录名,sonar.password是sonarqube的密码

  1. 重启sonarqube服务,再次访问http://localhost:9000,会稍微有点慢,因为要初始化数据库信息

  2. 数据库初始化成功后,登录

  3. 进入配置-应用市场,进入插件安装页面
    在这里插入图片描述

![在这里插入图片描述](https://img-blog.csdnimg.cn/3221c80230cc47799b9d1671414148a7.png

  1. 搜索chinese Pack,安装中文语言包
    也可以直接把中文包sonar-l10n-zh-plugin-1.25.jar,放到此目录D:\sonar\sonarqube-7.5\extensions\plugins
    汉化包兼容列表:https://github.com/SonarQubeCommunity/sonar-l10n-zh

  2. 安装成功后,重启sonarqube服务,再次访问http://localhost:9000/,即可看到中文界面

四、 扫描篇
下载客户端sonar-scanner-3.3.0.1492-windows
修改配置文件:
/home/sonar/sonar-scanner-3.3.0.1492-linux/conf下:
#Configure here general information about the environment, such as SonarQube server connection details for example
#No information about specific project should appear here

#----- Default SonarQube server
sonar.host.url=http://localhost:9000

#----- Default source code encoding
#sonar.sourceEncoding=UTF-8

sonar.jdbc.url=jdbc:mysql://localhost:3306/sonardb?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
sonar.jdbc.username=root
sonar.jdbc.password=111111

在path环境变量中添加
D:\sonar\sonar-scanner-3.3.0.1492-windows\bin
新建test目录,test中新建以下文件或文件夹
在这里插入图片描述

sonar-project.properties内容如下:
sonar.projectKey=testaml
sonar.projectName=testaml
sonar.projectVersion= testaml_v1.0
sonar.

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

面壁者Fifth

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值