SonarQube介绍
SonarQube 是一个用于代码质量管理的开放平台。通过插件机制,SonarQube可以集成不同的测试工具,代码分析工具,以及持续集成工具。该工具可以通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方便地对不同规模和种类的工程进行代码质量管理。在对其他工具的支持方面,SonarQube不仅提供了对 IDE 的支持,可以在 Eclipse 和 IntelliJ IDEA 这 些工具里联机查看结果;同时 SonarQube还对大量的持续集成工具提供了接口支持,可以很方便的在持续集成中使用 SonarQube。此外, SonarQube的插件还可以对 Java 以外的其他变成语言提供支持,对国际化以及报告文档化有良好的支持。
SonarQube的相关下载和文档可以在下面的链接中找到: http://www.sonarqube.org/downloads/
在配置SonarQube之前,首先需要安装JDK以及数据库PostgreSQL12
(注意:从SonarQub7.9开始便不在支持数据库mysql, 现在已不适用!SonarQube数据库只支持PostgreSQL、Oracle和MS SQLSERVER,此外不同版本SonarQube需要的JDK版本和数据库版本也不同,详情请看链接:https://docs.sonarqube.org/8.9/requirements/prerequisites-and-overview/
SonarQube安装配置
sonarqube需要使用jdk11环境,jdk11配置教程请移步其他配置文章。
安装配置PostgreSQL12
下载地址:https://www.enterprisedb.com/downloads/postgres-postgresql-downloads
注意:到输入数据库超级用户postgres用户密码时,输入自己的密码,本文档密码为root
安装过程 windows: https://jingyan.baidu.com/article/e8cdb32b05b72876042bad3c.html
Mac: https://www.imangodoc.com/6a2ac14c.html
安装完成后启动pgAdmin 4,如图所示:
windows:
Mac
点击pgAdmin启动web程序,进来会默认设置密码,随便设置一个并且记录下来。然后右键Login/Group Roles弹出以下图片
按照以下图示操作:
完成之前操作,创建数据库
配置数据库权限
3.安装配置SonarQube
下载地址:https://www.sonarsource.com/products/sonarqube/downloads/historical-downloads/
下载之后解压
SonarQube启动参数
打开sonarQube目录下的sonar.properties
添加以下参数
sonar.jdbc.username=sonar
sonar.jdbc.password=root
sonar.jdbc.url=jdbc:postgresql://localhost/sonar
Mac
② SonarQube启动参数
1.下载完成之后,将文件mv到/usr/local目录下,
在配置文件中 配置sonar的路径:
open -e ~/.bash_profile
export SONAR_HOME=/usr/local/sonarqube-8.9.10.61524
2.环境变量的设置
(1)进入配置文件
cd /usr/local/sonarqube-8.9.10.61524 /conf (终端输入命令进入conf目录包含sonar.properties文件)
(2)在路径下/usr/local/sonarqube-8.9.10.61524 /conf找到下面的文件进行配置
在sonar.properties文件中,需要输入如下信息添加以下参数
sonar.jdbc.url=jdbc:postgresql://localhost/sonar?currentSchema=public
sonar.host.url=http://localhost:9000/sonarqube
sonar.jdbc.username=sonar #数据库用户名
sonar.jdbc.password=root# 密码
sonar.login=admin #登陆sonarqube的名字
sonar.password=admin #登陆sonarqube的密码
打开warpper.conf修改属性为如下配置
添加以下参数
wrapper.java.command=C:\Program Files\java\jdk-11\bin\java
上面的C:\Program Files\java\jdk-11\是本文档JDK11的安装路径
Mac:
在wrapper.conf文件中输入JDK的绝对路径,注意一定要绝对路径
在路径下/usr/local/sonarqube-8.9.10.61524 /conf找到wrapper.conf文件进行配置,添加以下参数
wrapper.java.command=/Library/Java/JavaVirtualMachines/jdk-11/Contents/Home/bin/java
上面的/Library/Java/JavaVirtualMachines/jdk-11/Contents/Home/bin/java/是本文档JDK11的安装路径
③ 启动服务配置
启动前需要下载postgresql的驱动下载回来,并且要把上面的语言包放到SonarQube的目录中
驱动文件PostgreSQL JDBC 4.2 Driver, 42.2.9
JDBC安装目录(新建postgres目录)
windows:
切入到bin\windows-x86-64目录,运行StartSonar.bat 运行成功以后界面如下
出现红圈内部字体则配置成功
Mac:
在路径下:/usr/local/sonarqube-8.9.10.61524/bin/macosx-universal-64找到sonar.sh文件,执行./sonar.sh start从而开启sonarqube server
命令行:cd /usr/local/sonarqube-8.9.10.61524 /bin/macosx-universal-64
启动:./sonar start
暂停:./sonar stop
重启:./sonar restart
④使用SonarQube进行代码质量检查
安装好以后打开网址http://localhost:9000,初次启动后台会下载插件进行初始化
⑤配置sonar-scanner进行代码质量检查
windows:
sonar-scanner可以扫描代码(安装该插件之前,保证SonarQube配置成功)
下载地址:https://docs.sonarqube.org/8.9/analyzing-source-code/scanners/sonarscanner/
打开sonar-scanner目录下的sonar.properties
添加以下参数
sonar.host.url=http://localhost:9000
useConfigs=maxPerformance
sonar.sourceEncoding=UTF-8
sonar.login=admin
sonar.password=admin
配置sonar-scanner环境变量
先添加一个SONAR_SCANNER_HOME,再添加到path环境变量中
注意:SONAR_SCANNER_HOME是填写到sonar-scanner的根目录,
E:\sonar-scanner-4.8.0.2856-windows
然后path添加:%SONAR_SCANNER_HOME%\bin
之后,打开cmd,输入:sonar-scanner -version,如下图所示,代表环境变量配置正确
Mac:
⑤配置sonar-scanner进行代码质量检查
sonar-scanner可以扫描代码(安装该插件之前,保证SonarQube配置成功)
下载地址:https://docs.sonarqube.org/8.9/analyzing-source-code/scanners/sonarscanner/
命令行输入:brew install sonar-scanner
首先进入bash.profile文件,输入命令 vi ~/.bash_profile,进行编辑文本模式
配置sonar_home、sonar_scanner_home、path(路径换成你的sonarqube与sonar-scanner文件所在的绝对路径),以本文档为例
export SONAR_HOME=/usr/sonar/sonarqube-8.9.10.61524
export SONAR_SCANNER_HOME=/usr/sonar/sonar-scanner-cli-4.8.0.2856-macosx
export PATH=$PATH:$SONAR_SCANNER_HOME/bin
退出文本编辑模式(按Esc,:wq),执行命令: source ~/.bash_profile,使配置立即生效
测试sonar-scanner是否安装成功,输入命令: sonar-scanner -v,成功安装如下图:
⑤配置sonar-scanner进行代码质量检查
在使用SonarQube以及sonar-scanner检查代码之前,需要为分析的项目配置文件sonar-project.properties ,放在分析的项目的目录下
本文档提供自动生成该配置文件以及自动启动sonar-scanner的脚本: SonarQubeAutomation.py
注意:运行脚本之前,先启动sonarqube,windows下运行StartSonar.bat
Mac输入 命令行:cd /usr/local/sonarqube-8.9.10.61524/bin/macosx-universal-64
启动:./sonar start
分析结果