51Testing软件测试论坛

标题: SonarQube代码质量管理平台安装及使用 [打印本页]

作者: lsekfe    时间: 2020-11-19 10:38
标题: SonarQube代码质量管理平台安装及使用
一、介绍

  Sonar全称SonarQube是一个用于代码质量管理的开源平台,用于管理源代码的质量。
[attach]130764[/attach]
二、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 环境搭建问题

  常见错误
  1. max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
复制代码
说明最新版本sonarqube需要内存大小不低于262144,那首先要保证运行环境的内存大小不低于3G。
  找到/etc/sysctl.conf文件最后添加一行。
  1. vm.max_map_count=262144
复制代码
 执行下列代码立即生效

  1. /sbin/sysctl -p
复制代码
 汉化
  需要安装Chinese Pack插件,需要登陆,英文版面可以对照着点击:

[attach]130765[/attach]
三、Soanr使用
[attach]130766[/attach]
第一步点击登陆,成功登陆后界面如下,点击项目名称可以查看代码质量详情,继续下钻可以查看问题代码详情,如下图所示:
[attach]130767[/attach]
[attach]130768[/attach]
[attach]130769[/attach]
 四、Sonar项目支持(以java为例):  
  1. 在sonar上构建一个项目

[attach]130771[/attach]
[attach]130770[/attach]
输入项目标识及显示名称后,点击设置
[attach]130772[/attach]
输入令牌名称,点击创建,而后挨个点击项目的类型,即可获得扫描命令:
[attach]130773[/attach]
 2. 集成sonar maven插件
  要想让java项目支持mvn 命令,首先要集成sonar maven插件

  1. <plugin>

  2.   

  3.     <groupId>org.codehaus.mojo</groupId>

  4.   

  5.     <artifactId>sonar-maven-plugin</artifactId>

  6.   

  7.     <version>3.4.0.905</version>

  8.   

  9.   </plugin>
复制代码
切换到该pom的目录下,执行上述命令:
  1.  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平台,分析完成后,即可在界面上查看。









欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2