闲着没事干,随手学着尝试搭建代码检测服务器,做个笔记。
一、环境准备
mysql5.7
sonarqube7.6
sonar-scanner-3.3.0
jdk1.8
注1:以上标明的四个软件版本亲测可用。
注2:sonarqube7.1
-sonarqube7.6
需要使用mysql5.7
左右,mysql8
版本过高不行,目前只测了sonarqube7.1
、sonarqube7.6
两个版本
注3:sonarqube5.6
以前用jdk7
或者更低版本,sonarqube5.6
以后使用jdk1.8
,sonarqube7.9
左右用jdk11
了,目前只测了sonarqube7.1
、sonarqube7.6
、sonarqube7.9
三个版本
二、下载安装sonarqube7.6
-
下载
sonarqube7.6
版本:https://binaries.sonarsource.com/Distribution/sonarqube/ -
环境准备:先安装好
mysql
和jdk
注:mysql
数据安装后,需要先创建一个数据库,用来生成sonarqube
的表,我这里生成库名为sonar
-
解压安装包,解压目录最好不要带中文,程序员都懂~
-
解压结束后,可以先双击运行
sonarqube-7.6\bin\windows-x86-64\StartSonar.bat
,然后访问(默认端口9000)查看是否可以启动.
-
配置文件,打开
sonarqube-7.6\conf\sonar.properties
基本上我们需要配置的属性,配置文件都已经帮我们配置好了,只是被注释了。主要需要配置的属性有以下几个:
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
sonar.jdbc.username=root
sonar.jdbc.password=Ffcs#2020
sonar.login=admin
sonar.password=admin
sonar.web.port=9000
- 配置环境变量
新建SONAR_HOME= E:\sonarqube\sonarqube-7.6
,PATH
尾巴加上%SONAR_HOME%\bin;
- 配置中文汉化包
sonar-l10n-zh-plugin-1.26
,下载地址:https://github.com/xuhuisheng/sonar-l10n-zh/tags?after=sonar-l10n-zh-plugin-8.1
将下载的jar包复制到sonarqube-7.6\extensions\plugins
底下。
注:之所以需要手动下载,是因为发现打开后,最新的汉化包只支持sonarqube9
,与我当前的版本不匹配,下面是对应表
SonarQube 6.0 6.1 6.2 6.3 6.4 6.5 6.6 6.7 7.0 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 8.0
sonar-l10n-zh 1.12 1.13 1.14 1.15 1.16 1.17 1.18 1.19 1.20 1.21 1.22 1.23 1.24 1.25 1.26 1.27 1.28 1.29 8.0
- 重启
sonarqube-7.6\bin\windows-x86-64\StartSonar.bat
这个启动的过程比较慢,以为需要生成数据库表,可以去数据库刷新查看
- 访问http://localhost:9000
登录,账号密码默认admin
可以看到中文包只支持版本9的,所以需要自己下载
三、下载安装sonar-scanner-3.3.0
- 下载地址: https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/
- 解压
- 配置文件
直接进入sonar-scanner-3.3.0.1492-windows\conf\sonar-scanner.properties
,添加几行配置
sonar.host.url=http://localhost:9000
sonar.sourceEncoding=UTF-8
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
sonar.jdbc.username=root
sonar.jdbc.password=Ffcs#2020
sonar.language=java
sonar.login=admin
sonar.password=admin
http.authentication.preemptive=true
http.socket.timeout = 60000
- 配置环境变量
新建SONAR_SCANNER_HOME= E:\sonarqube\Sonar-Scanner\sonar-scanner-3.3.0.1492-windows
,PATH
尾巴加上%SONAR_SCANNER_HOME%\bin;
- 测试
打开cmd,输入 sonar-scanner -v
四、检测项目代码
- 选择需要检测的项目,打开项目根目录
- 在根目录底下添加配置文件
sonar-project.properties
#项目在sonarqube的唯一标识
sonar.projectKey=Sonar-encry
#项目在sonarqube的名字
sonar.projectName=encrypData
#版本
sonar.projectVersion=1.0
#配置指定扫描目录,以sonar-project.properties的目录为相对路径,多个目录用“”隔开
sonar.sources=src
#classes文件目录,不加会报错
sonar.java.binaries=src/main/java
#语言
sonar.language=java
#编码
sonar.sourceEncoding=UTF-8
- 打开cmd,进入该项目根目录,执行
Sonar-Scanner
- 成功后,刷新在
sonarqube
页面
说明配置成功!!!