SonarQube代码质量管理平台安装及使用
一、介绍
Sonar全称SonarQube是一个用于代码质量管理的开源平台,用于管理源代码的质量
二、sonar安装
搭建一个数据库postgres
docker run --name db -e POSTGRES_USER=sonar -e POSTGRES_PASSWORD=sonar -d postgres:12
搭建sonarqube
docker run --name sq --link db -e SONARQUBE_JDBC_URL=jdbc:postgresql://db:5432/sonar -e SONARQUBE_JDBC_USERNAME=sonar -e SONARQUBE_JDBC_PASSWORD=sonar -p 9001:9000 -d sonarqube
说明:
--name 指定容器名称
-e 指定数据库账号和密码
-d 指定版本
--link 指定连接的数据库
-p 端口映射(后者为docker容器的端口,前者为服务器的端口)
sonar 环境搭建问题
常见错误
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
说明最新版本sonarqube需要内存大小不低于262144,那首先要保证运行环境的内存大小不低于3G
找到/etc/sysctl.conf文件最后添加一行
vm.max_map_count=262144
执行下列代码立即生效
/sbin/sysctl -p
汉化
需要安装Chinese Pack插件,需要登陆,英文版面可以对照着点击
三、Soanr使用
第一步点击登陆,成功登陆后界面如下,点击项目名称可以查看代码质量详情,继续下钻可以查看问题代码详情,如下图所示
四、Sonar项目支持(以java为例):
1. 在sonar上构建一个项目
输入项目标识及显示名称后,点击设置
输入令牌名称,点击创建,而后挨个点击项目的类型,即可获得扫描命令
2. 集成sonar maven插件
要想让java项目支持mvn 命令,首先要集成sonar maven插件
<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>sonar-maven-plugin</artifactId> <version>3.4.0.905</version> </plugin>
切换到该pom的目录下,执行上述命令
mvn sonar:sonar -Dsonar.projectKey=test_one -D sonar.host.url=http://*.*.*.*:9001 -D sonar.login=7b**********f0e2 -s D:\apache-maven-3.5.4\conf\settings.xml
说明:
--D 指定推送分析结果的服务器及登陆的权限
-s 指定mavne的配置文件(因为我本地经常遇到错误,后面加上就好了)
此时,代码开始分析,并将结果推送到sonar平台,分析完成后,即可在界面上查看。