当前位置:首页 > 技术分析 > 正文内容

企业中通过Sonar代码质量管理详解

ruisui883个月前 (01-31)技术分析14

一:简介

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

二:JDK安装

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

三:SonarQube安装

1. SonarQube 下载

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

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

2. 启动SonarQube Web服务

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

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

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

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=root123
sonar.sorceEncoding=UTF-8
# SonarQube Web服务登录的用户名和密码
sonar.login=admin
sonar.password=admin

4. 重启命令restart

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

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

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

6. 安装中文包插件

重启使插件生效

四: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=maxPerformance
sonar.jdbc.username=root
sonar.jdbc.password=root123

2. 添加环境变量

vi ~/.bash_profile
export SONAR_RUNNER_HOME=/Users/mengday/Softwares/sonar/sonar-scanner-4.0.0.1744-macosx
export PATH=$SONAR_RUNNER_HOME/bin:$PATH
soruce ~/.bash_profile
# 查看sonar-scanner命令是否生效
sonar-scanner --version

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

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

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

sonar-project.properties

sonar.projectKey=my:project
sonar.projectName=springboot-pay-example
sonar.projectVersion=1.0
sonar.sources=src
sonar.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

4. 查看代码分析结果

这里分析出来2个Bug

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

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/610.html

分享给朋友:

“企业中通过Sonar代码质量管理详解” 的相关文章

Linux发行版需要杀软吗?卡巴斯基推出免费KVRT病毒扫描清理工具

IT之家 6 月 4 日消息,你认为使用 Linux 发行版,需要杀毒软件吗?或许很多用户认为 Linux 发行版偏小众,因此受到黑客攻击的风险也相对较小,不过卡巴斯基并不这么认为,近期推出了适用于 Linux 平台的杀毒软件。最新上线的 Linux 版本 Kaspersky Virus Remov...

Git 分支管理策略汇总

最近,团队新入职了一些小伙伴,在开发过程中,他们问我 Git 分支是如何管理的,以及应该怎么提交代码?我大概说了一些规则,但仔细想来,好像也并没有形成一个清晰规范的流程。所以查了一些资料,总结出下面这篇文章,一共包含四种常见的分支管理策略,分享给大家。Git flow在这种模式下,主要维护了两类分支...

el-table内容\n换行解决办法

问题请求到的数据带有换行符 '\n'但页面展示时不换行statusRemark: "\"1、按期完成计划且准确率100%,得100分;\n2、各项目每延误1天,扣1分;每失误1次或者员工投诉1次,扣3分,失误层面达到公司级影响较大的,该项绩效分数为0\"\n&...

双子座应用程序推出模型切换器以在Android上访问2.0

#头条精品计划# 快速导读谷歌推出了Gemini 2.0 Flash实验版,现已在其安卓应用中可用,之前仅在gemini.google.com网站上提供。新版本的15.50包含模型切换器,用户可以在设置中选择不同模型,包括1.5 Pro、1.5 Flash和2.0 Flash实验版。谷歌提醒,2.0...

全新斯柯达柯珞克Karoq深度评测:大众替代品

“斯柯达柯珞克是一款出色的全能家庭 SUV,具有许多有用的功能”价格36,605 英镑- 49,190 英镑优点方便的 VarioFlex 后排座椅非常适合家庭入住驾驶乐趣缺点保修期短保守的内饰性格比Yeti少结论——斯柯达柯珞克是一辆好车吗?斯柯达柯珞克是在辉煌的七座 斯柯达柯迪亚克之后推出的,因...

虚幻引擎5.5现已发布 手游开发、动画制作重大改进

Epic在今天发布了虚幻引擎5.5,现可通过Epic Launcher下载。此版本在动画创作、渲染、虚拟制片、移动端游戏开发和开发人员迭代工具集等方面做出了重大改进。 官方博客:虚幻引擎5.5现已发布,在动画创作、虚拟制作和移动游戏开发方面取得了显著进步,渲染、摄像机内视觉特效和开发人员迭代等领域的...