软件测试 | Sonarqube架构

SonarQube是一个开源的代码分析工具,用于持续评估项目源代码的质量和安全性。它支持多种编程语言,包括Java、Python等,提供多维度的代码分析,如代码量、复杂度、重复度和测试覆盖率。SonarQube包括WebUI管理和Scanner工具,进行静态代码扫描,发现潜在问题,并与代码编辑器、CI/CD系统及SCM集成,帮助开发者提升代码质量和安全性。

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

SonarQube 是一个开源的代码分析平台, 用来持续分析和评测项目源代码的质量。 通过SonarQube我们可以检测出项目中重复代码, 潜在bug, 代码规范,安全性漏洞等问题, 并通过SonarQube web UI展示出来

sonarQube是什么?

1、代码质量和安全扫描和分析平台。

2、多维度分析代码:代码量、安全隐患、编写规范隐患、重复度、复杂度、代码增量、测试覆盖率等。

3、支持25+编程语言的代码扫描和分析,包含java\python\C#\javascript\go\C++等。

4、涵盖了编程语言的静态扫描规则: 代码编写规范+安全规范。

5、能够与代码编辑器、CI/CD平台完美集成。

6、能够与SCM集成,可以直接在平台上看到代码问题是由哪位开发人员提交。

7、帮助程序猿写出更干净、更安全的代码。

静态扫描主要针对开发人员编写的源代码。

通过定义好的 代码质量和安全规则,对开发人员编写的代码进行扫描和分析。

将分析的结果多维护的呈现出来,以方便开发人员进行代码的优化和规范编写。

sonarQube如何工作?

sonar静态代码扫描由2部分组成:sonarQube平台,sonar-scanner扫描器。

sonarQube: web界面管理平台。

​ 1)展示所有的项目代码的质量数据。

​ 2)配置质量规则、管理项目、配置通知、配置SCM等。

sonarScanner: 代码扫描工具。

​ 专门用来扫描和分析项目代码。支持20+语言。

​ 代码扫描和分析完成之后,会将扫描结果存储到数据库当中,在sonarQube平台可以看到扫描数据。

sonarqube架构

部署

临时性的部署

docker run -d --name sonarqube \
-p 9000:9000 -p 9092:9092 \
sonarqube

正式部署,最新版本的sonarqube不再支持mysql了

docker run -d \
 --name sonarqube_postgres \
 -e POSTGRES_USER=sonarqube \
 -e POSTGRES_PASSWORD=sonarqube \
 -e PGDATA=/var/lib/postgresql/data/pgdata \
 -v $PWD/postgresql:/var/lib/postgresql/data \
 postgres
mkdir sonarqube_data sonarqube_extensions sonarqube_logs
chown -R 999:999 sonarqube_data sonarqube_extensions sonarqube_logs
docker run -d --name sonarqube_hogwarts -p 9000:9000 -p 9092:9092 --link 
sonarqube_postgres:db \
 -e SONARQUBE_JDBC_USERNAME=sonarqube -e SONARQUBE_JDBC_PASSWORD=sonarqube \
 -e SONARQUBE_JDBC_URL="jdbc:postgresql://db/sonarqube" \
 -v $PWD/sonarqube_data:/opt/sonarqube/data \
 -v $PWD/sonarqube_extensions:/opt/sonarqube/extensions \
 -v $PWD/sonarqube_logs:/opt/sonarqube/logs \
sonarqube

默认配置

用户名密码:admin admin

http://sonarqube.testing-studio.com/

sonarqube的代码分析流程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值