SonarQube是一个用于持续检查代码质量的静态代码分析平台。它提供了自动化的代码审查工具,帮助开发团队持续监测和改进代码的质量。SonarQube可以检测并报告多种代码质量问题,包括:
SonarQube支持多种编程语言,如Java、Python、C#、JavaScript、PHP等,并且可以集成到持续集成(CI)和持续部署(CD)流程中,确保每次代码提交都经过质量检查。
SonarQube由SonarSource SA开发,提供LGPL v3许可的社区版,以及功能更丰富的企业版和专业版。它可以在本地服务器上自托管,也可以使用云服务版本。
除了代码分析外,SonarQube还提供了一个直观的Web界面,允许项目经理、开发者和利益相关者查看项目的健康状况,跟踪代码质量问题的趋势,并设定质量门限以防止低质量代码进入主分支。
在最新版本中,SonarQube 10.4 和 9.9 LTA 提供了增强的企业功能,更快的代码审查,以及针对CloudNative开发的安全性提升。
sonarqube需要使用数据库,支持下列三种数据库
docker pull postgres
下载镜像
docker pull sonarqube:9.9.0-community
准备docker-compose.yml
mkdir -p /opt/docker_data/sonarqube/
vi /opt/docker_data/sonarqube/docker-compose.yml
文件内容为
version: '3.1'
services:
db:
image: postgres
container_name: db
ports:
- '5432:5432'
networks:
- sonarnet
environment:
POSTGRES_USER: sonar
POSTGRES_PASSWORD: sonar
sonarqube:
image: sonarqube:9.9.0-community
container_name: sonarqube
depends_on:
- db
ports:
- '9000:9000'
networks:
- sonarnet
environment:
SONAR_JDBC_URL: 'jdbc:postgresql://db:5432/sonar'
SONAR_JDBC_USERNAME: 'sonar'
SONAR_JDBC_PASSWORD: 'sonar'
networks:
sonarnet:
driver: bridge
修改系统可以创建的最大内存映射数量
vi /etc/sysctl.conf
输入内容
vm.max_map_count=262144
执行
sysctl -p
启动sonarqube
cd /opt/docker_data/sonarqube/
docker-compose up -d
初始化需要等待一段时间,然后访问http://地址:9000/即可,默认用户名密码都是admin
进入插件市场
搜索chinese安装汉化插件
点击统一要求后会出现下载按钮,点击即可
安装完成需要重启服务
汉化成功
可以在settings.xml中全局配置,也可以在项目的pom.xml文件中配置
<profiles>
<profile>
<id>sonar</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<sonar.login>admin</sonar.login>
<sonar.password>root</sonar.password>
<sonar.host.url>http://192.168.56.6:9000/</sonar.host.url>
</properties>
</profile>
</profiles>
<activeProfiles>
<activeProfile>sonar</activeProfile>
</activeProfiles>
<profiles>
<profile>
<id>sonar</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<sonar.login>admin</sonar.login>
<sonar.password>root</sonar.password>
<sonar.host.url>http://192.168.56.6:9000/</sonar.host.url>
</properties>
</profile>
</profiles>
在项目根目录下执行mvn sonar:sonar
看到执行成功
然会回到sonar页面就能看到代码检测结果了
点击项目名称可以查看详情
SonarScanner是一个命令行工具,用于分析和评估源代码的质量,并将结果发送到SonarQube或SonarCloud,这两个都是由SonarSource提供的代码质量管理平台。SonarScanner充当了一个桥梁,使得项目能够与SonarQube进行交互,从而在构建过程中集成代码质量检查。
以下是SonarScanner的一些关键特性和用途:
sonar-project.properties
文件或使用环境变量来定制SonarScanner的行为,比如指定项目名称、版本、源代码位置、分析规则集等。为了使用SonarScanner,你需要在本地计算机上安装它,并根据你的开发环境进行配置。一旦配置完成,你就可以在构建过程中运行SonarScanner,或者手动触发代码分析。
SonarScanner是SonarQube生态系统中的一个重要组成部分,它使得代码质量检查成为软件开发生命周期中的一个常规环节,有助于提升软件的可靠性和可维护性。
下载后上传到服务器解压就可以使用了
要注意修改sonar-scanner/conf/sonar-scanner.properties文件中sonar的地址