在这里插入图片描述

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、其他问题留言讨论

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐