因为使用的 SonarQube 和 Sonar-Scanner版本不同,所以有些改动。
准备工作:
1、下载SonarQube:http://www.sonarqube.org/downloads/
2、下载Sonar-Scanner:https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner
3、jdk和mysql数据库
我下载下来SonarQube是7.7版本,Sonar-Scanner是3.3.0版本
一:安装篇
1.下载好sonarqube后,解压打开bin目录,启动相应OS目录下的StartSonar。如本文演示使用的是win的64位系统,则打开C:\SonarQube\sonarqube-7.7\sonarqube-7.7\bin\windows-x86-64\StartSonar.bat
2.启动浏览器,访问http://localhost:9000,如出现下图则表示安装成功。
二:配置篇
1.打开mysql,新建一个数据库。
2.打开sonarqube安装目录下的C:\SonarQube\sonarqube-7.7\sonarqube-7.7\conf\sonar.properties文件
3.在mysql5.X节点下输入以下信息
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
sonar.jdbc.username=root
sonar.jdbc.password=123456
sonar.sorceEncoding=UTF-8
sonar.login=admin
sonar.password=admin
url是数据库连接地址,username是数据库用户名,jdbc.password是数据库密码,login是sonarqube的登录名,sonar.password是sonarqube的密码
4.重启sonarqube服务,再次访问http://localhost:9000,会稍微有点慢,因为要初始化数据库信息
5.数据库初始化成功后,登录
6.按照下图的点击顺序,进入插件安装页面,搜索chinese Pack,安装中文语言包,然后重启
7.重启方式有多种
7.1:页面上有重启按钮,不过好像很慢(反正我的页面一直转圈)
7.2:关闭SonarQube.bat窗口,再打开任务管理器,直接把所有java.exe进程关掉,再重新启动StartSonar.bat文件,重启后就能 看到中文界面了
三:使用篇
1.打开Sonar-Scanner的配置文件,我的路径是 C:\SonarQube\sonar-scanner-cli-3.3.0.1492-windows\sonar-scanner-3.3.0.1492-windows\conf\sonar-scanner.properties
2.加上如下配置,数据库和上文是同一个数据库
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
sonar.jdbc.username=root
sonar.jdbc.password=123456
3.注意:如果测试项目与服务器不在同一台机子,则需要添加服务器的IP:
#----- Default SonarQube server
sonar.host.url=http://XXX.XXX.XXX.XXX:9000
4.配置环境变量
4.1:新建变量,name=SONAR_RUNNER_HOME。value=C:\SonarQube\sonar-scanner-cli-3.3.0.1492-windows\sonar- scanner-3.3.0.1492-windows
4.2:打开path,输入%SONAR_RUNNER_HOME%\bin;
4.3:打开CMD窗口,输入 sonar-scanner -version,看到下图说明成功
5.找到需要扫描的项目,在项目的根目录下新建 sonar-project.properties文件,输入以下信息
sonar.projectKey=ebo
sonar.projectName=ebo
sonar.version=0.0.1-SNAPSHOT
sonar.sources=C:/project/ebo/src/main/java
sonar.java.binaries=C:/project/ebo/target/classes
sonar.projectKey:SonarQube服务器每次添加一个项目时要求填写一个项目名和关键字,此处是关键字
sonar.projectName:项目名,就和你的项目名称保持一致就好了
sonar.version:项目版本
sonar.sources:要扫描的源码路径,我在此处就直接写项目的绝对路径了
sonar.java.binaries:项目生成的class文件的路径
6.设置成功后,启动sonarqube服务,并启动cmd
7.在cmd进入项目所在的根目录,输入命令:sonar-scanner 开始扫描(版本低的sonar-scanner的扫描命令好像是sonar-runner,我也没有深入研究),分析成功后会出现下图
8.打开http://localhost:9000/,我们会看到主页出现了分析项目的概要图