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>注意:是你本机 不是服务端
SonarScanner
SonarScanner是sonar本地开发机管理的命令行终端工具。
通过以下流程安装:
先使用sonar浏览器端创建项目
配置项目名称
配置项目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
本地命令配置完成,接下来使用项目实际使用
配置SonarScanner
配置开发目录文件sonar-project.properties,不存在就新建。
然后配置开发机
第五步内容拷贝至sonar-project.properties文件下:
更改需要扫描测试IDE目录,比如core
使用终端shell(zsh/bash)执行sonar-project.properties 文件
# 耐心等待终端结果
sh sonar-project.properties
接下来刷新本地浏览器
至此sonar配置完成!