跳到主要内容

Sonar & SonarScanner

Sonar

Sonar (SonarQube)是一个开源平台,用于管理源代码的质量。Sonar 不只是一个质量数据报告工具,更是代码质量管理平台。支持的语言包括:Java、PHP、C#、C、Cobol、PL/SQL、Flex 等.

特点

  • 代码覆盖:通过单元测试,将会显示哪行代码被选中

  • 改善编码规则

  • 搜寻编码规则:按照名字,插件,激活级别和类别进行查询

  • 项目搜寻:按照项目的名字进行查询

  • 对比数据:比较同一张表中的任何测量的趋势

前置条件 Java JDK

项目运行环境依赖 Java

可以通过 Java JDK 安装

安装

首先通过 官网 SonarQube 获得下载地址

通过 linux 命令 scp 命令远程发送至远程 linux 平台(mac)

Sonarqube 运行条件

必须是非 root 用户运行

如何创建用户,新建用户,例:我用户名为 sonar

添加权限

# root 用户登录 cd /etc/
[root@localhost etc]#chmod u+w sudoers
[root@localhost etc]#vim sudoers
# 在 root 后追加 sonar
sonar ALL=(ALL) ALL
# 保存退出 :wq
# 复原权限
[root@localhost etc]#chmod u-w sudoers

解压

远程端

# 上传到 linux root/opt 下
# 通过 unzip sonarqube-8.4.0.35506.zip
# 在当前目录下得到 sonarqube-8.4.0.35506
# 如果不想看见后缀 mv sonarqube-8.4.0.35506 sonarqube 即可
[root@localhost opt]# ls
jdk-14.0.1_linux-x64_bin.rpm rh sonarqube sonarqube-8.4.0.35506.zip

更改用户所有者 & 权限

# 更改用户组
[root@localhost opt]#chown -R sonar:sonar sonarqube
# 切换用户
[root@localhost opt]#su sonar
# 更改文件权限
# 如果在操作 sonarqube 提示权限不足
[sonar@localhost opt]#chmod 777 sonarqube

首次运行

# 是什么系统选择对应的版本
[sonar@localhost opt]#cd /sonarqube/bin/linux-x86-64
# linux
# 首次需要使用 console 参数启动, 可能的参数: start | stop | restart | status
[sonar@localhost linux-x86-64]#./sonar.sh console
# 第二次
[sonar@localhost linux-x86-64]# ./sonar.sh start
Starting SonarQube...
Started SonarQube.

默认监听 9000 端口,访问远程服务器 <远程地址:9000>

本地

在本地浏览器访问 <远程地址:9000>

Congratulations! 恭喜启动完成

登录

默认登录名: admin

默认密码: admin

汉化

在本地浏览器访问 <远程地址:9000> 注意:是你本机 不是服务端

汉化流程

SonarScanner

是 sonar 本地开发机管理的命令行终端工具

通过以下流程 安装

先使用 sonar 浏览器端创建项目

创建

配置项目名称

创建名称

配置项目token

点击创建之后,在点击继续

创建token

配置开发机

配置开发机

下载SonarScanner

可能后边会更换: 飞机票地址

下载

配置本地环境变量(mac)

编辑本地的shell 环境变量 .zshrc 或者 .bash_profile

# sonar-scanner 追加bin

# export SCANNER_HOME="你下载的sonar-scanner地址"
export SCANNER_HOME="/Users/hondry/opt/sonar-scanner"
export PATH=$PATH:$SCANNER_HOME/bin
# 然后退出编辑 让 .bash_profile 或者 .zshrc 使更改生效 例:zsh shell 下
sh .zshrc
# 然后在 shell 中 校验是否安装完成
sonar-scanner -v

Congratulations! 恭喜本地命令配置完成

好了,接下来挑选一个项目吧

配置SonarScanner

配置开发目录文件 sonar-project.properties,没有就新建

我选中的 github 上的 quill

选定的项目

然后将 配置开发机

第五步内容拷贝至 sonar-project.properties 文件下

粘贴配置

更改你要扫描测试的目录,比如 core

更改目录

好了,使用终端 shell(zsh/bash) 执行你的这个 sonar-project.properties 文件

# 耐心等待终端结果
sh sonar-project.properties

成功

接下来刷新你的本地浏览器

成功

Congratulations! 恭喜配置完成🎉