SonarQube 7.6版本表结构及数据查询

本文介绍了SonarQube 7.6版本的数据库表结构,包括projects、snapshots和metrics等,详细解析了各字段含义,并提供了查询项目UUID、最新快照及度量数据的SQL语句。此外,还讲解了如何在Jenkins中配置SonarQube扫描,以及相关参数设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.背景

SonarQube在代码的质量管理中使用率非常高。在进行表结构分析时,发现现有的资料中大多数为老版本,且新版本与老版本之间的表字段有不少变动。
记录下7.6版本对应的数据库的字段含义,同时写一下查看单元测试和sonar扫描结果的SQL。
SonarQube版本:7.6

2.SonarQube表简析

2.1项目表-projects

字段含义
name名称
description描述
enable启动
scope作用域:PRJ-项目或模块,DIR-目录,FIL-文件
kee项目简称:sonar扫描结果链接的id对应的值,对应传参projectKey
long_name长名称
creatd_at创建时间
uuid通用唯一值

2.2快照表-snapshots

字段含义
status状态:
islast最新一条记录 : 1-最新,0-历史
version分支
component_uuid组件UUID:对应projects.uuid
uuid通用唯一值

2.3软件度量表-metrics

字段含义
id自增主键
name名称
description描述:质量数据分析的维度
short_name简称
id的值质量数据分析的维度
3代码总行数(没有注释的代码行)
20代码复杂度
90代码重复度%
112异味
113新异味
114bug
115新bug
116漏洞
117新漏洞
95问题总数(单位:个)
96问题:阻断
97问题:严重
98问题:主要
29单元测试用例数量
31单元测试错误数量
33单元测试失败数量
34单元测试成功率
36单元测试覆盖率
42单元测试行覆盖率
49单元测试条件覆盖率

2.3.1

2.4项目度量表-project_measures

字段含义
metirc_id软件度量id:对应metrics.id
component_uuid组件UUID:对应projects.uuid
analysis_uuid分析UUID:对应snapshots.uuid

3单元测试和sonar扫描结果SQL

3.1查询项目表UUID

根据项目简称获取

SELECT uuid from projects where scope = 'PRJ' and kee = '项目简称';

3.2查询快照表中最新的一条数据

根据项目UUID获取

SELECT uuid from snapshots where component_uuid = '项目表中获取的UUID' and islast = '1';

3.3查询快照表中的数据

根据项目表的UUID(project_measures.component_uuid)、软件度量表的UUID(project_measures.analysis_uuid)、度量表的ID(project_measures.metric_id)

SELECT * from project_measures where component_uuid = '项目表的UUID' and analysis_uuid = '软件度量表的UUID' and metric_id = '度量表的ID' ORDER BY metric_id

4.jenkins中自定义路径,key和快照表的version

mvn sonar:sonar -Dsonar.host.url=${地址}9000/sonarqube -Dsonar.login=token值 -Dsonar.projectKey=${项目名称} -Dsonar.projectVersion=${分支}"

sonar.projectKey=项目的key(自定义)
在sonar展示首页区分是否为同一个的id,不可出现中文

sonar.projectName=项目名称
在sonar展示首页展示的名称,可以为中文

sonar.projectVersion=项目版本
sonar.sources=项目路径

推荐阅读
Sonar-project配置的常用说明
项目工程代码质量检测神器——SonarQube 的用法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值