SonarQube是一种自动代码审查工具,用于检测代码中的错误,漏洞和冗余代码。可以与现有的工作流程集成,以便在项目分支和拉取请求之间进行连续的代码检查

简介

  • SonarQube集成Azure Devops,在代码构建的时候自动进行代码分析,生成代码报告
  • SonarQube集成gitlab,在分支推送的时候自动进行代码检查分析,生成代码报告
  • SonarQube集成jenkins,在代码构建的时候自动进行代码分析,生成代码报告

总之,SonarQube可以配合一切好用的CI/CD工具进行自动化分析代码并生成代码报告,通过报告可以看到代码中可能存在的bug和代码债务

安装

注意

  • SonarQube 依赖于Java 环境,也就是需要安装Jre,不同版本对Jre的版本要求不同
  • SonarQube 支持的数据库有:PostgreSQLMicrosoft SQL ServerOracle,7.9版本已经不对MySql进行官方支持

下载地址:https://www.sonarqube.org/downloads/

文档地址:https://docs.sonarqube.org/latest/

image.png

目录

  • bin目录存放各环境的启动脚本
  • conf目录存放sonarqube的配置文件
  • logs目录存放启动和运行时的日志文件

配置

数据库连接字符串配置

  1. conf/sonar.properties

启动SonarQube

  1. bin/$(SystemName)/StartSonar.bat

访问Web页面,默认端口9000

image.png

插件

这里是安装了中文插件的结果,其余自行发挥

image.png

SonarQube连接MSSQL

参考
http://www.codewrecks.com/blog/index.php/2015/10/30/installing-sonarqube-on-windows-and-sql-server/

配置

  • /key(简写k):对应projectKey即项目的唯一代码,如两套源代码使用同一个projectKey那扫描的结果将混在一起,所以一个项目需要有一个单独的projectKey
  • /name(简写n):对应projectName即项目的名称,为项目的一个显示的名称,建立使用完整的项目名称
  • /version(简写v):对应projectVersion即项目的版本,项目在不同的时期版本也是不一样的,如果方便,可以在SonarQube的服务器中查看到不同的版本代码其中问题的变化

SQLServer2016打开配置管理器

  1. SQLServerManager13.msc

es端口更改

  1. \SonarQube\temp\conf\es\elasticsearch.yml

Sonar端口更改

  1. SonarQube\conf\sonar.properties

参考