一、代码扫描说明
1. SonarQube Scanner 下载
Windows 64 bit 点击下载扫描工具: http://170.106.148.50/html/doc/sonar-scanner/sonar-scanner.zip
Mac OS X 64 bit 点击下载扫描工具: http://170.106.148.50/html/doc/sonar-scanner/sonar-scanner-macosx.zip
2. 解压到目录
Win 解压到 D:\ ( 依个人习惯 )
Mac 解压到 /Users/chuangjisoft02 ( 依个人习惯 )
3. 修改 sonar-scanner.properties
修改为 sonarQube 平台地址 ( 默认已修改为 http://172.18.5.64:9000 可跳过此步 )
位于 sonar-scanner\conf\sonar-scanner.properties
sonar.host.url = http://172.18.5.64:9000
Win
Mac
4. 打开要检查的项目目录
①打开项目目录, 创建文件 sonar-project.properties
②编辑 sonar-project.properties, 修改 sonar.projectKey 和 sonar.projectName 为项目名
sonar.sources 为检查的代码路径, 指定文件或”./”检查当前文件夹下
sonar.sources=www/js,www/html 可用 “,” 分隔指定多个路径
Mac
5. 执行扫描
①运行CMD
Win
可使用 win键+R 快捷键打开”运行”, 输入 “cmd”, 并使用cd 命令进入到待检查项目目录下
或 在待检查项目目录下 按住 左Shift键 + 鼠标右键, 选择“在此处打开命令窗口(W)”
Mac
②执行检查命令
Win
D:\sonar-scanner\bin\sonar-scanner
执行命令完成返回报告结果
Mac
/Users/chuangjisoft02/sonar-scanner-macosx/bin/sonar-scanner
执行命令完成返回报告结果
6. 查看检查报告
打开上步返回的报告链接: http://172.18.5.64:9000/dashboard/index/workflow2
或 直接访问 http://172.18.5.64:9000 根据项目名 查找
二、sonarQube 平台简要说明
1. 项目总览
打开项目检查报告, 总览为项目整体情况。
质量阀:是一系列对项目指标进行度量的条件。项目必须达到所有条件才能算整体上通过了质量阈。
点击导航栏中的 “质量阀” 按钮,可查看或更改质量阀的标准
2. Bugs&漏洞
选择Bug是以Bug作为评判的指标,右侧显示有Bug的Java类,详情可以查看sonar对这个Bug的解释。
查看某一个Bug的详细信息, 及给出的示例代码
3. 坏味道
是指在代码之中潜在问题的警示信号。
并非所有的坏味道所指示的确实是问题,但是对于大多数坏味道,均很有必要加以查看,并作出相应的修改。
4. 债务
每一个问题,sonar都会计算出更改这个问题需要花费的时间。
通过增加这些时间得出一个总的值称为债务。
5. 重复率
进入重复页面可查看每个Java类重复比例与重复行
进入Java类中,黑灰条代表重复的代码, 红色条代表单元测试未覆盖。
点击重复条可以查看与此类含有相同代码的Java类。
6. 代码别查看
选项卡选择代码
进入某Java类后可以通过代码右上方的“更多操作”的“显示详情”来查看指标信息。
以下为管理员配置说明
三、sonarQube 平台搭建及规则
1. 准备工作
1. JDK 1.8+ (自行安装)
2. Mysql 5.6+ (自行安装)
3. sonarqube 平台
下载最新社区版: https://www.sonarqube.org/downloads/
2. 安装配置
以下操作均在windows下, 使用 winscp 工具操作:https://winscp.net
①解压 sonarqube-7.2.zip 到 /usr/local
②修改 sonarqube-7.2 文件夹权限, 右键点击文件夹”属性”, 全部勾选后”确定”
③打开目录 /usr/local/sonarqube-7.2/conf, 编辑 sonar.properties, 替换内容
注: mysql 版本需大于5.6
sonar.jdbc.url=jdbc:mysql://172.18.5.64:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance sonar.jdbc.username=你的数据库账号 sonar.jdbc.password=你的数据库密码 sonar.sorceEncoding=UTF-8 sonar.login=admin sonar.password=admin
3. 启动&初始化
①打开目录 /usr/local/sonarqube-7.2/bin, 查看系统启动脚本路径
②本例操作系统为 centos 32位, 所以选择 linux-x86-32
③打开命令控制台, 如图
③执行命令
启动命令: ./sonar.sh start
重启命令: ./sonar.sh restart
停止命令: ./sonar.sh stop
4. 平台初始化配置
启动后立即访问因为要初始化数据库, 请耐心等待…
打开平台 http://172.18.5.61:9000/sessions/new 默认账号: admin 认密码: admin
选择跳过
安装中文语音包(日文同理, 平台语音跟随浏览器语言设置)
重启服务生效插件
重新登录查看效果, 汉化完成
5. 插件&第三方插件安装
1. 市场内插件安装, 安装同上述语言插件
默认未安装 .html 插件, 建议安装, 搜索 web
2. 第三方插件安装
①使用 winscp 打开 sonarqube 安装目录 /usr/local/sonarqube-7.2/extensions/plugins
②将第三方插件放置到上述目录
css检查插件
http://170.106.148.50/html/doc/sonar-scanner/sonar-css-plugin-4.18.jar
C#检查插件 默认安装的C#插件存在Bug, 请卸载后安装此版本
http://170.106.148.50/html/doc/sonar-scanner/sonar-csharp-plugin-5.10.0.1343.jar
本例直接在此目录删除了默认C# 插件jar包, 并放入5.10版本
③重启服务使插件生效, 打开 平台 http://172.18.5.61:9000/admin/system
④查看安装的插件
6. 代码规则配置
①登录管理员账号, 选择”质量配置” => “创建”
②选择检测的语言, 创建规则集
③选择已存在的规则到规则集
④选择已存在的规则到规则集, 活动 / 挂起
⑤创建的规则集设置为默认检测配置
⑥当前规则使用情况查看
本文链接地址: sonarQube 代码检查搭建&使用