SonarQube的下载安装与使用
Sonar的功能:是一个用于代码质量管理的开源平台,用于管理源代码的质量,可以从七个维度检测代码质量。
- 糟糕的复杂度分布
- 重复
- 缺乏单元测试
- 不遵循代码标准
- 没有足够的或者过多的注释
- 潜在的bug
- 糟糕的设计
1、下载与安装-window版SonarQube
下载后解压,目录为:
2.文件配置
SonarQube\sonarqube-7.7\conf
sonar.properties文件的配置
注:
sonarqube从7.8起,不再支持mysql
sonarqube从7.9起,不再支持jdk11以下版本
Mysql数据库配置:
版本要求:MySQL >=5.6 && < 8.0 (不包含8.0)
#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=root
Oracle数据库配置:
版本要求:Oracle 11g/12c
sonar.jdbc.url=jdbc:oracle:thin:@127.0.0.1:1521/orclpdb
sonar.jdbc.username=sonarqube
sonar.jdbc.password=sonarqube
sonar.jdbc.driverClassName:oracle.jdbc.driver.OracleDriver
注意:使用Oracle数据库连接,需要把Oracle驱动包复制到目录:SonarQube\sonarqube-7.7\extensions\jdbc-driver\oracle
3. 启动SonarQube
运行StartSonar.bat文件
运行成功:
访问:
用浏览器访问 http://localhost:9000,进入sonarqube页面
默认账号密码:admin/admin
SonarQube汉化操作:
把下载的中文包放在目录:SonarQube\sonarqube-7.7\extensions\plugins 里,重启SonarQube才生效。
4. sonar-scanner下载安装
1)下载完后解压
2)修改conf目录下的sonar-scanner.properties文件,添加如下配置:
#sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
sonar.jdbc.url=jdbc:oracle:thin:@127.0.0.1:1521/orclpdb
sonar.jdbc.username=sonarqube
sonar.jdbc.password=sonarqube
#sonar.jdbc.driverClassName:oracle.jdbc.driver.OracleDriver
#sonarqube地址
sonar.host.url=http://localhost:9000
3)配置sonar-scanner的环境变量,bin目录
cmd 命令验证: sonar-scanner -version
5. 使用
1) 使用SonarScanner扫描
1-1) 打开要进行代码分析的项目根目录,新建sonar-project.properties文件, 并添加以下内容
sonar.projectKey=my:project
sonar.projectName=google-translater-master
sonar.projectVersion=1.0
sonar.sources=D:/Code/shenzhoutaiyue/ProjectCode/google-translater-master/src
sonar.java.binaries=D:/Code/shenzhoutaiyue/ProjectCode/google-translater-master/target/classes
1-2)cmd窗口进入到项目的根路径,执行下面命令即可:
sonar-scanner
扫描成功:
2) 整合maven实现代码扫描
2-1)整合maven需在maven的settings.xml中增加如下配置,即我们的jdbc驱动,数据库用户密码以及相关的sonar.host.url链接。
<profile>
<id>sonar</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<sonar.jdbc.url>jdbc:oracle:thin:@127.0.0.1:1521/orclpdb</sonar.jdbc.url>
<sonar.jdbc.driver>oracle.jdbc.driver.OracleDriver</sonar.jdbc.driver>
<sonar.jdbc.username>sonarqube</sonar.jdbc.username>
<sonar.jdbc.password>sonarqube</sonar.jdbc.password>
<sonar.host.url>
http://localhost:9000 <!-- Sonar服务器访问地址 -->
</sonar.host.url>
</properties>
</profile>
<activeProfiles>
<activeProfile>sonar</activeProfile>
</activeProfiles>
2-2)在idea的Terminal窗口(dos窗口一样),进入需要扫描的代码的根目录,执行命令mvn sonar:sonar
3) sonarlint sonarqube 使用
3-1)idea : file ->settings -> Plugins 搜索sonarlint install restart,安装结束。
默认采用的是sonarlint自己的规则,可以在rules查看对应规则和修改。
3-2)右击项目名称 选择SonarLint 点击分析,则会在sonarlint 中显示对于的分析结果。
6. 查看分析结果