介绍
SonarQube是一个用于静态代码分析的开源平台,旨在帮助开发团队发现和修复代码中的质量问题。它提供了一系列功能,包括代码质量度量、代码风格检查、代码复杂度评估、代码重复检测、安全漏洞检测等。
以下是SonarQube的一些关键特性和功能:
-
静态代码分析:SonarQube可以分析源代码,并根据一系列预定义的规则和指标来评估代码的质量。这些规则可以涵盖代码质量、性能、安全性等方面。
-
多语言支持:SonarQube支持多种编程语言,包括Java、C#、JavaScript、C / C ++、Python等。这使得它成为跨多个项目和团队使用的强大工具。
-
实时反馈:SonarQube能够在代码提交或构建过程中提供即时反馈,帮助开发人员及早发现和解决问题,从而降低维护成本并提高代码质量。
-
可视化报告:SonarQube生成丰富的可视化报告,以图表和图形的形式展示代码质量指标、问题趋势、漏洞统计等信息,让团队更容易理解和跟踪代码质量的变化。
-
规则定制:除了预定义的规则之外,SonarQube还允许团队根据自己的需求定义和定制规则,以满足特定项目或组织的代码质量标准。
-
集成性:SonarQube可以与许多持续集成和开发工具集成,如Jenkins、Azure DevOps、GitLab等,使其成为开发工作流程的一部分。
-
安全漏洞检测:SonarQube还具有用于检测常见安全漏洞和漏洞模式的功能,如SQL注入、跨站脚本(XSS)、代码注入等。
sonarqube部署
环境:
系统版本:CentOS Linux release 7.9.2009 (Core)
前置条件:docker 以及docker-compose
需要再网上下载sonarqube的中文代码包,sonarqube版本不一样,中文代码包也不一样,先启动sonarqube
然后把中文代码包上传至 sonarqube/extensions/plugins目录下,重新启动即可
默认账户密码:admin/admin
中文包:https://github.com/xuhuisheng/sonar-l10n-zh
可以参考里边不通的sonarqube版本对应不同的中文包
docker-compose.yml
version: '3'
services:
postgres:
image: postgres
restart: always
privileged: true
container_name: sonarqube_postgres
ports:
- 5432:5432
volumes:
- /data/sonarqube/db/postgresql/:/var/lib/postgresql
- /data/sonarqube/db/datasql/:/var/lib/postgresql/data
environment:
TZ: Asia/Shanghai
POSTGRES_USER: sonar
POSTGRES_PASSWORD: sonar
POSTGRES_DB: sonar
networks:
- sonarnet
sonar:
image: sonarqube:6.7.5
restart: always
container_name: sonarqube
privileged: true
depends_on:
- postgres
volumes:
- /data/sonarqube/sonarqube/extensions:/opt/sonarqube/extensions
- /data/sonarqube/sonarqube/logs:/opt/sonarqube/logs
ports:
- 9000:9000
environment: #连接postgres数据库的配置信息
SONARQUBE_JDBC_USERNAME: sonar
SONARQUBE_JDBC_PASSWORD: sonar
SONARQUBE_JDBC_URL: jdbc:postgresql://postgres:5432/sonar
networks:
- sonarnet
networks:
sonarnet:
ipam:
config:
- subnet: 192.168.114.0/24 #这里可以看各自的环境进行配置
sonarqube汉化包兼容列表
sonarqube | 9.0 | 9.1 | 9.2 | 9.3 | 9.4 | |||||
---|---|---|---|---|---|---|---|---|---|---|
sonar-l10n-zh | 9.0 | 9.1 | 9.2 | 9.3 | 9.4 | |||||
sonarqube | 8.0 | 8.1 | 8.2 | 8.3 | 8.4 | 8.5 | 8.6 | 8.7 | 8.8 | 8.9 |
sonar-l10n-zh | 8.0 | 8.1 | 8.2 | 8.3 | 8.4 | 8.5 | 8.6 | 8.7 | 8.8 | 8.9 |
sonarqube | 7.0 | 7.1 | 7.2 | 7.3 | 7.4 | 7.5 | 7.6 | 7.7 | 7.8 | 7.9 |
sonar-l10n-zh | 1.20 | 1.21 | 1.22 | 1.23 | 1.24 | 1.25 | 1.26 | 1.27 | 1.28 | 1.29 |
sonarqube | 6.0 | 6.1 | 6.2 | 6.3 | 6.4 | 6.5 | 6.6 | 6.7 | ||
sonar-l10n-zh | 1.12 | 1.13 | 1.14 | 1.15 | 1.16 | 1.17 | 1.18 | 1.19 | ||
sonarqube | 5.4 | 5.5 | 5.6 | |||||||
sonar-l10n-zh | 1.9 | 1.110 | 1.11 | |||||||
sonarqube | 4.0 | 4.1 | ||||||||
sonar-l10n-zh | 1.7 | 1.8 | ||||||||
sonarqube | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | |||
sonar-l10n-zh | 1.0 | 1.1 | 1.2 | 1.3 | 1.4 | 1.5 | 1.6 |