一、sonar下载安装
下载地址:https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-6.7.5.zip
下载完成之后,解压,目录结构如下:
可以看到bin目录下有各种不同操作系统文件夹,里面放的是sonarqube在不同操作系统中的启动脚本。我用的是Mac,进入macosx-universal-64目录,执行./sonar.sh start命令,即可启动sonarqube。关闭使用./sonar.sh stop命令。
默认情况下,启动sonarqube使用的是其内嵌的数据库,这样后面进行sonarqube版本升级的时候,无法对数据进行备份,所以我们可以配置成自己的数据库。具体配置方式如下:
1、进入 sonarqube-6.7.5/conf目录,会看到sonar.properties配置文件和wrapper.conf文件
2、修改sonar.properties配置文件,添加数据库配置。sonar.properties配置文件中,已经帮我们设置好了各种数据库连接,我们只要放开注释就好。
sonar.jdbc.username=root
sonar.jdbc.password=123456
#用户登录sonarqube的用户名
sonar.login=admin
#用户登录sonarqube的密码
sonar.password=admin
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
3、在数据库中新建一个sonar数据库,编码格式设置为UTF-8
4、重新启动sonarqube
5、用浏览器访问 http://localhost:9000,进入sonarqube页面
二、sonar-scanner下载安装
下载地址:
https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-3.2.0.1227-macosx.zip
下载完成之后,解压,目录结构如下:
修改conf目录下的sonar-scanner.properties文件,添加如下配置:
sonar.jdbc.username=root
sonar.jdbc.password=123456
#sonarqube配置的数据库
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
#sonarqube地址
sonar.host.url=http://localhost:9000
配置sonar-scanner的环境变量,Mac配置如下所示:
SONAR_RUNNER_HOME=/Users/linbo/Desktop/project/sonar-scanner-3.2.0.1227-macosx
export SONAR_RUNNER_HOME
export PATH=$PATH:$SONAR_RUNNER_HOME/bin
环境变量配置成功标志:
在终端输入sonar-scanner,打印如下信息
INFO: Scanner configuration file: /Users/linbo/Desktop/project/sonar-scanner-3.2.0.1227-macosx/conf/sonar-scanner.properties
INFO: Project root configuration file: NONE
INFO: SonarQube Scanner 3.2.0.1227
INFO: Java 1.8.0_121 Oracle Corporation (64-bit)
INFO: Mac OS X 10.13.2 x86_64
三、使用
进入项目根目录下,创建sonar-project.properties文件,如果项目根目录名为X,则向sonar-project.properties文件中添加如下内容:
# must be unique in a given SonarQube instance
sonar.projectKey=X
# this is the name displayed in the SonarQube UI
sonar.projectName=X
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
sonar.java.binaries=target/classes
# Encoding of the source code. Default is default system encoding
#sonar.sourceEncoding=UTF-8
进入项目根目录,执行 sonar-scanner命令,执行成功之后,访问http://localhost:9000/projects,可看到如下页面
通过sonar,我们可以找出代码中存在的bug和安全隐患,提升代码的质量。
网友评论