Skip to main content

Sonar-代码质量管理平台

Sonar

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

特点

  • 代码覆盖率:通过单元测试,将会显示哪行代码被选中
  • 改善代码规则
  • 搜寻编码规则:按照名字、插件、激活级别和类别进行查询
  • 项目搜索:按照项目的名字进行查询
  • 对比数据:比较同一张表中的任何测量的趋势

前置环境Java JDK

项目运行环境依赖Java
可以通过Java JDK 安装

安装

首先下载SonarQube

通过linux命令scp命令将文件发送至远端Linux平台。

SonarQube运行条件

  • 必须是非root用户运行

添加权限

# 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>

登陆

默认登陆用户名和密码都是admin

汉化

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

SonarScanner

SonarScanner是sonar本地开发机管理的命令行终端工具。
通过以下流程安装:

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

Locale Dropdown

配置项目名称

Locale Dropdown

配置项目token

点击创建之后,再点击继续
Locale Dropdown

配置开发机

Locale Dropdown

下载SonarScanner

点击打开SonarScanner下载地址
Locale Dropdown

配置本地环境变量(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

本地命令配置完成,接下来使用项目实际使用

配置SonarScanner

配置开发目录文件sonar-project.properties,不存在就新建。
Locale Dropdown

然后配置开发机

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

更改需要扫描测试IDE目录,比如core

Locale Dropdown

使用终端shell(zsh/bash)执行sonar-project.properties 文件

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

Locale Dropdown

接下来刷新本地浏览器
Locale Dropdown

至此sonar配置完成!