当前位置: 首页 > news >正文

SonarQube代码质量管理平台本地化搭建和使用

SonarQube 是一个开源的代码质量管理平台,主要用于持续检查代码质量,支持多种编程语言。

本文章记录了在windows环境中,搭建和使用SonarQube的完整过程。

①SonarQube平台搭建

SonarQube最新社区版本下载地址:

https://www.sonarsource.com/products/sonarqube/downloads/success-download-community-edition/

各个历史版本的下载地址(社区版、开发人员版、企业版、数据库版):

https://www.sonarsource.com/products/sonarqube/downloads/historical-downloads/

我本次下载的是最后一个社区版(10.7.0)

SonarQube官方文档:

https://docs.sonarsource.com/sonarqube-server/latest/

安装SonarQube服务

在这个目录下执行cmd命令

SonarService.bat install

如果要卸载服务,执行命令:

SonarService.bat uninstall

启动SonarQube服务

浏览器输入 127.0.0.1:9000进行访问

初始账号和密码都是 admin

登录成功的样子

汉化SonarQube平台显示

搜索中文包并安装

安装完成,重新启动后,再次登陆,看到的就是中文了。

②PostgreSQL数据库

安装PostgreSQL数据库

数据库下载官网

https://www.postgresql.org/

安装详细教程

https://blog.csdn.net/m0_71071763/article/details/149602408

PostgreSQL创建新用户

在PostgreSQL中创建用户sonar

PostgreSQL创建新数据库

在PostgreSQL中创建数据库sonar

SonarQube配置数据库连接

在SonarQube的conf/sonarproperties中配置数据库连接。

找到配置文件

修改下面的内容

配置修改完成,重启SonarQube。

重启完成后,需要重新用admin登陆,密码也是admin。

可以看到sonor数据库下面新建了一些表。

③SonarScanner安装和配置

需要安装sonarScanner才能对代码进行扫描。

下载sonar-scanner

不同的应用场景有不同的版本,选择对应的版本进行下载。

如果不确定项目所属类型,可以选择通用版本(SonarScanner CLI)下载

通用版本扫描器下载地址

https://docs.sonarsource.com/sonarqube-community-build/analyzing-source-code/scanners/sonarscanner/

下载完成后,是个压缩包,进行解压。

修改配置文件

配置conf目录下的sonar-scanner.properties文件,添加sonarQube平台地址

修改配置内容如下

其中token生成方式如下所示


将bin目录配置到环境变量

把SonarScanner的bin目录配置到系统环境变量中。

检验环境变量配置

在命令行输入 sonar-scanner -h 确认环境变量是否生效。

到此,SonarQube平台的搭建就完成了,包括SonarQube、PostgreSQL数据库、SonarScanner,三部分组成。

④扫描项目

以Java项目为例,进行代码的扫描。

配置扫描信息

在项目代码根目录下添加sonar-project.properties文件


文件内容如下 :

sonar.projectKey=jszx

sonar.projectName=jszx

sonar.projectVersion=1.0

sonar.sources=.

sonar.sourceEncoding=UTF-8

sonar.language=java

sonar.java.binaries=sa-admin/target/classes

sonar.scm.disabled=true

配置说明:

sonar.projectKey=在sonarQube上的实例键名(唯-)
sonar.projectName=在sonarQube上的项目名称
sonar.projectVersion=1.0(项目版本号)
sonar.sources=.(java源代码目录指定)
sonar.sourceEncoding=UTF-8(编码格式指定)
sonar.language=java(指明只扫描java语言)
sonar.java.binaries=target/classes(class文件的目录)


在项目代码根目录下,运行扫描命令

sonar-scanner

等待扫描完成

出现这个信息,表示扫描完成。

查看扫描结果

访问SonarQube平台,查看扫描结果

可以看到扫描的项目名称,已经显示在上面。

点击项目名称,进入详情页面,可以看到具体的扫描结果信息。

根据问题说明对问题进行修复。

⑤在idea中进行代码扫描分析

在idea中安装插件:SonarQube for IDE

在idea左侧,可以看到波浪线的小图标,点击后打开的就是对应的可视化窗口。

在这个窗口中可以直接看到当前文件所存在的一些问题。

点击这个按钮,可以对整个项目的所有代码进行扫描。

整个项目的扫描结果

⑥idea与SonarQube扫描平台建立连接

如果想把SonarQube扫描平台的结果,同步显示在idea中,通过以下配置即可:

点击创建token,会自动打开浏览器页面,然后选择允许连接。

回到idea配置页面,点击下一步

完成配置。


文章转载自:

http://ilp4VMcM.wdshp.cn
http://RtJNL36z.wdshp.cn
http://aQ2FotxP.wdshp.cn
http://Y6Fi8uNo.wdshp.cn
http://HQRostBi.wdshp.cn
http://uACdRrtq.wdshp.cn
http://gSp8t2ao.wdshp.cn
http://PZTD9TwZ.wdshp.cn
http://toVPdlf2.wdshp.cn
http://H4ipaIvN.wdshp.cn
http://DZUqA1Bo.wdshp.cn
http://Q2XYoxvk.wdshp.cn
http://B0qpUpsP.wdshp.cn
http://5j1Yi7DQ.wdshp.cn
http://0yl5Wohl.wdshp.cn
http://qPSkgLGD.wdshp.cn
http://ZPI0hgHQ.wdshp.cn
http://yDL2f49o.wdshp.cn
http://BbVwnFLJ.wdshp.cn
http://LKwyoOie.wdshp.cn
http://g3Y96cNs.wdshp.cn
http://4mvcL5qw.wdshp.cn
http://XeuDRmis.wdshp.cn
http://wFFwaK2k.wdshp.cn
http://SvG18nuS.wdshp.cn
http://tAX1F8hM.wdshp.cn
http://SPTt7QhI.wdshp.cn
http://USV5q3lU.wdshp.cn
http://Qnztvi1c.wdshp.cn
http://jqVNI1LY.wdshp.cn
http://www.dtcms.com/a/382568.html

相关文章:

  • Redis 线上问题排查完整手册
  • 异常数据处理全攻略:原理、方法与Python实战
  • Python 进阶:从基础到实战的核心技能提升
  • Scikit-learn:从零开始构建你的第一个机器学习模型
  • 如何快速获取全机硬件详细参数?
  • 嵌入式ARM架构学习7——时钟、定时器
  • 【C++练习】17.C++求两个整数的最大公约数(GCD)
  • SQL-字符串函数、数值函数、日期函数
  • Redis内存回收:过期策略与淘汰策略
  • 【css学习笔记9】品优购项目
  • 动态规划解决网格路径问题
  • 金融科技:企业和机构银行
  • C++ 异常
  • One-hot encoding|独热编码
  • AI论文速读 | VisionTS++:基于持续预训练视觉主干网络的跨模态时间序列基础模型
  • 如何学习VBA_3.3.9:利用“搭积木”思想,快速有效地完成你的代码
  • 《使用深度学习统一时间相位展开框架》论文总结
  • Windows下使用PerfMon进行性能监控并记录日志
  • 微信小程序开发教程(十二)
  • 【攻防实战】记一次攻防实战全流程
  • 【编号520】全国4500多个地震灾害点位数据(2021.2-2025.8)
  • 牛客网习题题解(持续更新中...)
  • 2025.8.20--python基础温习
  • PCIE地址空间介绍
  • (三)BLE协议栈协议分层架构设计详解--图文结合通俗易懂
  • 主板硬件研发基础--DP/DP++
  • 287. 寻找重复数
  • 《从像素到认知:用 Keras 构建图像分类 CNN 的实战指南》
  • 深入探索 Python 元组:从基础到高级应用
  • Java 黑马程序员学习笔记(进阶篇5)