SonarQube使用手册

一、简介

SonarQube是一种自动代码审查工具,可检测代码中的错误,漏洞和不优雅的地方。我们知道alibaba/p3c也是一款优秀的代码规范检查工具,但是其更倾向于开发人员编程时进行实时规范检查,SonarQube则更方便于开发团队进行整体代码审查,规范管理。

二、安装SonarQube服务

1.下载安装包

SonarQube官方下载页面https://www.sonarqube.org/downloads/,这里我们下载免费的社区版:
在这里插入图片描述

(经过验证,SonarQube 7.9开始需要Java 11且不支持mysql了,所以这里我们选择7.8版本进行下载)

我们把页面拉到最下面,选择Historical Downloads

在这里插入图片描述
在这里插入图片描述
下载完成后得到一个压缩包,解压到我们平时的安装程序目录即可

2.汉化

由于低版本SonarQube自带的插件商店没有对应的汉化版本,这里我们自己下载汉化插件。

下载地址https://github.com/xuhuisheng/sonar-l10n-zh/releases,下载下方的jar包即可
在这里插入图片描述
下载完成之后,我们将这个jar包放入SonarQube的安装目录下的extensions\plugins文件夹中即可。

3.创建SonarQube数据库

由于SonarQube默认使用的内嵌数据库H2,这种不适应于生产环境,所以我们替换成mysql数据库,首先创建一个名为sonar的数据库,然后在SonarQube的配置文件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=root
sonar.sorceEncoding=UTF-8
# SonarQube的web页面登录信息
sonar.login=admin
sonar.password=admin

至此,SobarQube的配置已经完成,这时候我们启动bin\windows-x86-64\StartSonar.bat即可(不同的系统平台执行相应的启动脚本)。或者可以执行此目录中的InstallNTService.bat脚本将SonarQube安装成系统服务,这样就可以直接在服务中管理了。

启动完成后,我们访问http://localhost:9000,输入配置的登录账号信息,即可进入到SonarQube web页面。

注:
执行StartSonar.bat脚本启动SonarQube后,如果不小心关闭了控制台,其实这个时候SonarQube并没有被关闭,后台还有进程在,所以下次启动时会报错,这个时候就要手动杀掉进程了。

三、在SonarQube中创建第一个测试项目

1.在SonarQube页面选择创建项目

在这里插入图片描述
2.输入项目标识和显示名称
在这里插入图片描述

3.然后点击创建令牌
在这里插入图片描述
在这里插入图片描述
这个时候我们要把这个令牌复制下来,因为后面就看不到了

4.下面选择项目的主要语言以及构建技术
在这里插入图片描述

这里项目就已经创建好了,然后可以通过不同的质量检测方式将结果推送到这个项目里来。

四、使用

下面将通过三种方式来使用SonarQube的代码扫描功能:

① Maven方式执行代码检测
② SonarScanner方式执行代码检测
③ 集成Jenkins执行代码检测

1.集成maven执行代码扫描

创建完项目后,我们选择maven方式构建,即可看到SonarQube给我们提供的maven扫描命令

mvn sonar:sonar \
 -Dsonar.projectKey=test \
 -Dsonar.host.url=http://localhost:9000 \
 -Dsonar.login=7a13de184fe9d79c59e24062d0065bd87b7064e9

进入到要扫描的代码目录,执行上面的maven命令即可,执行完毕后在SonarQube页面即可看到扫描结果。
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

注:
上面的命令中有些是固定的信息,如果每次执行扫描都需要输入则显的很麻烦,这里我们可以将某些信息配置到maven的setting.xml

<profile>
  <id>sonar</id>
  <activation>
	<activeByDefault>true</activeByDefault>
  </activation>
  <properties>
	<sonar.host.url>http://127.0.0.1:9000</sonar.host.url>
	<sonar.login>7a13de184fe9d79c59e24062d0065bd87b7064e9</sonar.login>
  </properties>
</profile>

以后直接执行mvn sonar:sonar -Dsonar.projectKey=test即可。甚至mvn sonar:sonar都可以,SonarQube会自动以maven的坐标为项目key去创建项目。

2.通过SonarScanner执行代码扫描

SonarQube提供了SonarScanner组件来帮助我们执行扫描,首先下载https://docs.sonarqube.org/latest/analysis/scan/sonarscanner/
在这里插入图片描述

下载之后是个压缩包,解压即可,为了方便使用,我们可以将解压后的目录下的bin目录加入到环境变量中,这样可以直接使用sonar-scanner命令了(这里不再介绍环境变量的配置)。

打开SonarScanner的配置文件conf\sonar-scanner.properties,做如下修改:
在这里插入图片描述

进入到待扫描的项目目录下,新建sonar-project.properties文件,内容如下:

sonar.projectKey=test
sonar.projectName=test
#sonar.projectVersion=1.0
#sonar.sources=./src
sonar.sourceEncoding=UTF-8
#sonar.language=java
sonar.java.binaries=.

然后再命令行执行sonar-scanner即可。

3.集成Jenkins执行代码扫描

Jenkins作为一个开源的、提供友好操作界面的持续集成(CI)工具,广受大家的喜爱,Jenkins提供了SonarQube扫描插件可以方便的让我们直接扫描代码仓库中的代码质量,而前两种方式更偏向于开发人员本地去做,更依赖开发人员的自觉性,而使用Jenkins的方式则更方便对整个团队进行 Code Review,更方便的进行规范管理。

①.首先需要安装SonarQube Scanner插件,系统管理 > 插件管理,搜索SonarQube Scanner插件并安装;安装后进入到系统管理 > 系统配置 > SonarQube servers,添加SonarQube服务器

在这里插入图片描述

②.点开高级,添加固定配置信息
在这里插入图片描述

保存并应用。至此,Jenkins配置完毕。

③.现在我们新建一个任务测试一下:

在这里插入图片描述

④.然后输入代码仓库地址,
在这里插入图片描述

⑤.然后选择构建步骤,
在这里插入图片描述

⑥.然后添加如下构建参数,
在这里插入图片描述

最后保存即可。

这样我们当我们执行Jenkins的立即构建后即可在SonarQube上面看到扫描结果。

SonarQube默认支持匿名推送检测结果,即不需要传递令牌即可推送到SonarQube服务器,这样很不安全,我们用下面的方式关掉匿名推送的通道:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 10
    点赞
  • 63
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: SonarQube是一个开源的代码质量管理工具,用于分析和管理项目的代码质量。它提供了静态代码分析、代码复杂度、代码覆盖率、代码重复等多种功能,可帮助开发团队提高代码质量,并发现和解决潜在的缺陷和漏洞。 SonarQube 7.8是SonarQube的一个版本。下面是SonarQube 7.8的使用手册概述: 1. 安装和配置:首先需要下载SonarQube 7.8的安装包,并按照官方指南进行安装。安装完成后,需要配置数据库和其他参数,以便SonarQube能够正常工作。 2. 项目管理:在SonarQube中,可以创建和管理各种不同的项目。可以将代码仓库与SonarQube关联,以便能够对项目进行代码分析。通过SonarQube的仪表盘可以查看项目的总体代码质量。 3. 静态代码分析:SonarQube通过对代码进行静态分析,可以找出代码中的潜在问题和错误。它提供了多种静态代码分析规则和检查项,可以根据团队的需求进行定制配置。对项目进行静态代码分析可以帮助发现代码质量问题,并给出相应的改进建议。 4. 代码复杂度和覆盖率:SonarQube可以计算代码的复杂度和覆盖率。代码复杂度指标可以帮助开发团队评估代码的可读性和可维护性。代码覆盖率报告可以告诉团队哪些代码被测试覆盖,从而帮助团队提高测试覆盖率。 5. 代码重复:SonarQube可以检测代码中的重复片段,并给出相应的警告。这有助于团队发现和修复重复的代码,提高代码的可维护性和可读性。 6. 报告和历史记录:SonarQube提供了丰富的报告和历史记录功能,可以追踪项目的代码质量变化。这些报告可以帮助团队评估项目的演进,并进行合理的决策。 总结来说,SonarQube 7.8是一个功能丰富的代码质量管理工具,可以帮助开发团队提高代码质量、发现潜在问题并提供改进建议。通过使用SonarQube,团队可以更好地管理和优化项目的代码。 ### 回答2: SonarQube是一个开源的代码质量管理平台,它用于对项目代码进行静态分析和检测,以帮助团队管理和提高代码质量。下面简单介绍一下SonarQube 7.8的使用手册SonarQube 7.8的使用手册包括安装、配置和使用指南,帮助用户快速上手平台。 首先,安装SonarQube 7.8需要一台服务器,并确保服务器满足平台的要求。可以从SonarQube官方网站上下载最新版本的安装包。安装完成后,可以通过运行启动脚本来启动SonarQube服务。 接下来,配置SonarQube。用户需要在SonarQube服务器上创建一个新的项目,为此项目配置版本控制系统和构建工具。用户还可以配置SonarQube与其他外部工具的集成,例如Jenkins等。 一旦配置完成,就可以使用SonarQube对代码进行分析。用户可以通过Web界面或使用SonarScanner来进行代码分析。SonarScanner是一个命令行工具,可以将代码发送到SonarQube服务器进行静态分析,并生成分析报告。 SonarQube 7.8提供了丰富的代码质量指标和报告,可以帮助用户了解项目的代码质量情况。例如,平台可以检测出代码中的重复代码、潜在的bug、安全漏洞和代码坏味等问题,并给出建议和修复意见。 此外,SonarQube 7.8还支持团队协作功能,可以通过团队成员之间的交流和讨论来改善代码质量。用户可以在平台上创建任务,分配给团队成员,并跟踪任务的进度。 总之,SonarQube 7.8使用手册提供了详细的安装、配置和使用指南,帮助用户快速上手该平台。通过使用SonarQube,团队可以更好地管理代码质量,发现和修复潜在的问题,提高软件开发效率和质量。 ### 回答3: SonarQube 7.8使用手册是一个详细的指南,帮助用户了解和使用SonarQube软件的新版本。该手册分为几个主要部分,包括安装指南、配置指南、功能介绍和使用示例等。 首先,安装指南提供了关于如何安装SonarQube 7.8的详细步骤。它描述了系统要求、安装过程以及如何配置数据库等信息。 接下来,配置指南提供了如何在SonarQube中配置不同项目的说明。它解释了如何创建项目、设置分析参数以及如何与版本控制系统集成等。 然后,该手册介绍了SonarQube 7.8的各种功能。它解释了如何执行代码静态分析、查看和解释分析结果以及如何生成报告等。 最后,使用示例部分提供了一些典型的使用场景和案例。例如,如何使用SonarQube来检测代码中的潜在漏洞、重复代码和代码质量问题等。 此外,该手册还包括常见问题解答和附录等附加信息。它可以帮助用户解决常见的问题,并提供了额外的参考资料和资源。 总而言之,SonarQube 7.8使用手册提供了全面的指导,帮助用户了解和使用最新版本的SonarQube软件。无论是新手还是有经验的用户,都可以从中获得对SonarQube的深入了解,并学会如何有效地使用该软件进行代码质量管理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值