一、为什么安装?
SonarQube是管理代码质量的一个开放平台,可以快速的定位代码中潜在的或者明显的错误。
前端妹子一枚,公司要求自己检查代码质量。我用mac安装sonarQube的时候,查询相关文档都描述的不够详细,踩过了不少坑,所以把安装过程及踩坑点详细的记录了下来。
想事先了解sonarQube的可以去看看官网:sonarQube官网
下面是安装成功后,测试一个项目代码质量的截图,可以看到有相关的bug和重复率等测试结果。
二、mac如何安装?
1. 需要安装数据库,我用的是mysql。
- 官网下载mysql.
注意:sonarQube需要的mysql版本是5.7以后并且是8.0之前的版本,现在官网可用版本为5.7.26,不能下载最新版8.0.16!!!如果电脑已经安装了最新版,请重新安装旧版5.7.26。
- 该版本安装时有一个初始密码,需要先自己改密码,再启动。如果不更改密码,会启动失败!!!
2 sonarQube安装与配置
- 官网下载sonarQube,下载链接。
- 如果mac系统下载不了sonarQube, 请移步百度网盘, 链接: https://pan.baidu.com/s/14W_ej2FrPxiQI4NjtS3UGQ 提取码: cx3t
- 解压压缩包,可双击解压,或在终端进入sonarQube所在的文件夹并输入命令 unzip sonarqube-7.7.zip 解压
- 对SonarQube的配置文件进行更改.位置是: /sonarqube-7.7/conf/sonar.properties,在终端输入命令 vi + “sonar.properties的路径”, 以我的为例:
vi /usr/sonar/sonarqube-7.7/conf/sonar.properties
- 进入sonar.properties文件后,更改一些配置, 配置数据库的用户名、密码、端口号。
- 注意:我使用的数据库是mysql, 用户是root用户,密码是root用户对应的密码。如果使用的是其它数据库,则配置与下面的不同
# #代表注释,原配置是把uername、password、url、host、port注释了,请把这几个的注释去掉,即把前面的#去掉。
sonar.jdbc.username=root
sonar.jdbc.password=123213
# url是你自己的url,默认就有配置的。
sonar.jdbc.url=?
#使用0.0.0.0是保证任何地址都可以使用
sonar.web.host=0.0.0.0
#默认端口为9000,如果想避免和NodeJS的端口冲突。可以更改,我这里未更改
sonar.web.port=9000
- 测试sonarQube是否安装成功
- 进入到目录sonarqube-7.7/bin/macosx-universal-64/sonar下,输入如下命令。sonar如成功启动, 终端会呈现Starting SonarQube... Started SonarQube...
sh sonar.sh start
-
- 再进入到目录sonarqube-7.7/logs下,输入命令:
tail -f sonar.log
-
- SonarQube在安装完后运行: 127.0.0.1:9000,成功运行则sonarQube安装成功。
- 若出现如下提示: SonarQube is under maintenance...先运行http://127.0.0.1:9000/setup
3. 安装与配置sonar-scanner
- 官网下载sonar-scanner,下载链接。注意:mac系统请下载对应的mac版本的sonar-scanner,用linux版本的会安装失败!!!
- 如果mac系统下载不了sonar-scanner,请移步百度网盘, 链接: https://pan.baidu.com/s/14W_ej2FrPxiQI4NjtS3UGQ 提取码: cx3t
- 解压sonar-scanner,可双击解压,或终端进入到sonar-scanner所在的文件夹输入 unzip sonar-scanner-cli-3.3.0.1492-macosx.zip解压
- 配置环境变量
- 首先进入bash.profile文件,输入命令 vi ~/.bash_profile,进行编辑文本模式。
- 配置sonar_home、sonar_scanner_home、path(路径换成你的sonarqube与sonar-scanner文件所在的绝对路径),以我的为例:
export SONAR_HOME=/usr/sonar/sonarqube-7.7
export SONAR_SCANNER_HOME=/usr/sonar/sonar-scanner-cli-3.3.0.1492-macosx
export PATH=$PATH:$SONAR_SCANNER_HOME/bin
-
- 退出文本编辑模式(按Esc,:wq),执行命令: source ~/.bash_profile,使配置立即生效
- 测试sonar-scanner是否安装成功,输入命令: sonar-scanner -v,成功安装如下图:
3.扫描项目
终端进入到待测试的项目根目录,新建sonar-project.properties文件: 输入命令vi sonar-project.properties,进行文本编辑模式。
增加如下配置,其中:sonar.projectName是项目名字,sonar.sources=是源文件所在的目录
# must be unique in a given SonarQube instance
sonar.projectKey=my:project
# this is the name displayed in the SonarQube UI
sonar.projectName=i2work-operation
sonar.projectVersion=1.0
# Path is relative to the sonar-project.properties file. Replace "\" by "/" on Windows.
# Since SonarQube 4.2, this property is optional if sonar.modules is set.
# If not set, SonarQube starts looking for source code from the directory containing
# the sonar-project.properties file.
sonar.sources=src
# Encoding of the source code. Default is default system encoding
#sonar.sourceEncoding=UTF-8
#path to your project build output path
sonar.java.binaries=target/classes
4. 打开终端,进入待测试项目根目录,执行命令:sonar-scaneer, 成功如下图:
- 打开SonarQube:http://localhost:9000即可看见正在分析中的后台任务