Sonar 代码质量管理平台
检测结果图
检测结果从下面几个方面展示:
- Bug:必须要解决的
- 漏洞:关注
- 热点:关注
- 异味:关注
- 覆盖率:了解
- 重复:优化
sornar简介
Sonar(SonarQube)是一个开源平台,用于管理源代码的质量。
Sonar 不只是一个质量数据报告工具,更是代码质量管理平台。
支持25+编程语言包括:Java、PHP、C#、C、Cobol、PL/SQL、Flex 等
sornar架构图
SonarQube我们可以检测出项目中潜在bug,重复代码,代码规范,安全性漏洞等问题, 并通过SonarQube web UI展示出来。
sornar如何工作
sonar静态代码扫描由2部分组成:sonarQube平台,sonar-scanner扫描器。
sonarQube: web界面管理平台
1)展示所有的项目代码的质量数据。
2)配置质量规则、管理项目、配置通知、配置SCM等。
sonarScanner: 代码扫描工具
1)专门用来扫描和分析项目代码。支持20+语言。
2)代码扫描和分析完成之后,会将扫描结果存储到数据库当中,在sonarQube平台可以看到扫描数据。
sonar环境搭建
安装sonarQube和sonarScanner
sonarQube:链接 sonarScanner(mac版本):链接
下载好以后解压在同一个目录下
安装JDK
JDK:链接
配置环境变量
1、获取java安装路径:/usr/libexec/java_home -V
2、打开配置文件:vi ~/.bash_profile(mac如何编辑文件:按 i 键编辑;退出vim编辑器:先按下 esc 键,不保存并退出 :按 q! 后 enter 回车键盘、保存并退出 :按 wq 后 enter 回车键盘)
3、配置
java路径:第一步获取的路径
sonarqube路径:你存放的文件路径
sonar-scanner路径:你存放的文件路径
# HomeBrew
# Java
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-17.0.5.jdk/Contents/Home
export CLASSPAHT=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:JAVA_HOME/bin
# Sonar
export SONAR_HOME=/Users/xxx/xxx/xxx/sonar/sonarqube-9.9.0.65466
export PATH=$PATH:$SONAR_HOME/bin
export SONAR_SCANNER_HOME=/Users/xxx/xxx/xxx/sonar/sonar-scanner-3.3.0.1492-macosx
export PATH=$PATH:$SONAR_SCANNER_HOME/bin
# HomeBrew END
4、确保配置生效
命令:source ~/.bash_profile
sonar使用
启动sonarqube,找到sonarqube-9.9.0.65466 > bin > macosx-universal-64
- ./sonar.sh start
- ./sonar.sh stop
- ./sonar.sh restart
第一次打开会久一点,会先初始化,然后看到登录界面(账号密码默认:admin/admin)
登录进去界面如何加载中文包(二种方法)
1)有Install按钮的执行如下操作即可
2)没有Install的下载jar包,汉化包:链接 存放路径:sonarqube-9.9.0.65466 > extensions > plugins
执行sonar-scanner命令,首先在需要检测的项目下新增文件 sonar-project.properties
用户令牌如何生成
定位到检测的项目目录下,执行命令:sonar-scanner
出现EXECUTION SUCCESS代表检测成功,就可以在http://localhost:9000/上看到检测的结果
检测结果
总结
1、链接无效可以评论或者私信
2、jdk需要17版本
3、sonar-scanner命令无效,检查自己配置的路径是否正确
4、./sonar.sh start启动后,http://localhost:9000登录无响应,重复执行命令2次,出现SonarQube is already running等待10秒即可
5、其他问题留言讨论