SonarQube代码质量管理的开源平台

发布时间 2023-07-18 17:14:03作者: 大树2

CI/CD流水线完善计划, 增加代码质量检查作业,在开发代码合入前提前发现不安全问题,因此引入代码质量检测-SonarQube服务。

一、SonarQube是什么?
Sonar是一个用于代码质量管理的开源平台,用于管理Java源代码的质量。通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具,比如pmd-cpd、checkstyle、findbugs、Jenkins。通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方便地对不同规模和种类的工程进行代码质量管理。同时 Sonar 还对大量的持续集成工具提供了接口支持,可以很方便地在持续集成中使用 Sonar。 此外,Sonar 的插件还可以对 Java 以外的其他编程语言提供支持,对国际化以及报告文档化也有良好的支持。

二、SonarQube安装步骤
当前最新发布 SonarQube 社区版9.7,以下步骤以此为例。

1.docker安装
快速安装,仅限于测试或则体验:

docker run -d --name sonarqube --restart always -p 9000:9000 sonarqube
2.docker-compose安装
可用于持久化,私有化部署使用。
docker-compose.yml 配置:

version: "3"
services:
sonarqube:
image: sonarqube:9.7-community
container_name: sonarqube
depends_on:
- db
environment:
SONAR_JDBC_URL: jdbc:postgresql://db:5432/sonar
SONAR_JDBC_USERNAME: sonar
SONAR_JDBC_PASSWORD: sonar
volumes:
- sonarqube_data:/opt/sonarqube/data
- sonarqube_extensions:/opt/sonarqube/extensions
- sonarqube_logs:/opt/sonarqube/logs
ports:
- "9000:9000"
db:
image: postgres:12
container_name: postgres
environment:
POSTGRES_USER: sonar
POSTGRES_PASSWORD: sonar
volumes:
- postgresql:/var/lib/postgresql
- postgresql_data:/var/lib/postgresql/data
volumes:
sonarqube_data:
sonarqube_extensions:
sonarqube_logs:
postgresql:
postgresql_data:

如果是非volume安装,注意给本地文件权限
chmod 777 -R xxxx

修改系统资源:

sysctl -w vm.max_map_count=524288
sysctl -w fs.file-max=131072
ulimit -n 131072
ulimit -u 8192
在docker-compose.yml 文件更目录执行:

docker compose up -d
3. 访问SonarQube
URL: http://localhost:9000
用户名: admin
密码: admin

  1. 配置SonarQube
    4.1 安装中文插件
    在线安装:
    插件在GitHub,因为网络原因可能会安装失败,多试几次。