sonar 扫描vue目录_企业中通过Sonar代码质量管理详解

一:简介

Sonar一个Web系统,展现了静态代码扫描的结果,结果是可以自定义的 ,支持多种语言的原理是它的扩展性。

f30a1f844ae72c52c453a244c744d844.png
a1165c36c1ffcecce2bc2dafe5f2e142.png

二:JDK安装

SonarQube7.8版本需要jdk1.8或者更高的版本。

三:SonarQube安装

1. SonarQube 下载

SonarQube 下载地址 注意:要下载7.8版本,因为7.8版本以上的不再支持mysql数据库了,下载后简单解压一下即可。

直接点击Community Edition即可,不用点下拉的选项。

79fce5410b847f151a9c270e4f7b67f1.png
2bc7ec8d5eef9918090e72ff05954303.png

2. 启动SonarQube Web服务

通过命令行启动 ./sonar.sh start

  • start 启动web项目
  • console 查看start的命令打印的日志,即查看logs/sonar.log文件内容
214e23036853d87764c45a145fdebb57.png

访问SonarQube Web地址 http://localhost:9000

3edd076d0bf44bcaf145fab5ab12dbf6.png

3. 配置数据库信息

# 需要预先创建好数据库CREATE DATABASE `sonar` DEFAULT CHARACTER SET utf8;

/sonarqube-7.8/conf/sonar.properties

sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance# 数据库的用户名sonar.jdbc.username=root# 数据库密码sonar.jdbc.password=root123sonar.sorceEncoding=UTF-8# SonarQube Web服务登录的用户名和密码sonar.login=adminsonar.password=admin
e343c0ec7c3f5783b8fabe7cc0a6e695.png

4. 重启命令restart

restart命令执行后会初始化数据库表

08ae15decbfb9879f1dfadae743bdd2c.png
3092f5fa113193441768c2f9786d3950.png

5. 使用用户名和密码再次访问SonarQube Web

http://localhost:9000 输入用户名和密码,即在sonar.properties文件中配置的login和password值,admin amdin

b6ee52cfcd9742fee494e229ded82e8b.png

6. 安装中文包插件

7fa049892a3ecd8eb605c885439beedb.png

重启使插件生效

4fc9da30e146b3b38c24d1e82fd7da74.png
d301f0c1c659e5696ad67e09b66712de.png

四:SonarScanner安装

1. 下载SonarScanner

SonarScanner下载地址

配置sonar-scanner-4.0.0.1744-macosx/conf/sonar-scanner.properties数据库信息

sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformancesonar.jdbc.username=rootsonar.jdbc.password=root123

2. 添加环境变量

vi ~/.bash_profileexport SONAR_RUNNER_HOME=/Users/mengday/Softwares/sonar/sonar-scanner-4.0.0.1744-macosxexport PATH=$SONAR_RUNNER_HOME/bin:$PATHsoruce ~/.bash_profile# 查看sonar-scanner命令是否生效sonar-scanner --version
6a585a3caa84e0a029a28b6ef37b602a.png

3. 在一个maven项目中配置sonar-project.properties文件

本文使用了springboot-pay-example 这个项目作为演示的,可以到github上限下载下来,然后在idea中打开。

在一个项目的根路径下创建sonar-project.properties文件,并设置属性值

3c6e164b6fa14b7209359c1cae9ab04b.png

sonar-project.properties

sonar.projectKey=my:projectsonar.projectName=springboot-pay-examplesonar.projectVersion=1.0sonar.sources=srcsonar.java.binaries=target/classes
  1. sonar.projectName是项目名字,
  2. sonar.sources是源文件所在的目录,
  3. sonar.java.binaries SonarQube新版相对于之前的版本新增要求必须指定项目class文件的目录,如果不配置会报错,注意target/classes目录必须存在,为了确保target/classes存在,先通过maven clean install一下
# 切换到项目根目录下cd /Users/mengday/Projects/learning/springboot-pay-example# 开始代码扫描分析sonar-scanner
01cea33b4a4d205be4edbc0d68ff4941.png

4. 查看代码分析结果

745e6b606cacfd3d164cd9bd64e1e2ba.png

这里分析出来2个Bug

1156abc168f0420fa9d963282386661f.png
87810c7c82c2f3bd5883dbacb5c59c0d.png

点开第二个查看具体问题代码

a9f479c3fd87763ef2b6cead4308c8b5.png
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值