SonarQube 简介
需求:
随着项目团队规模日益壮大,项目代码量也越来越多。且不说团队成员编码水平层次不齐,即便是老手,也难免因为代码量的增加和任务的繁重而忽略代码的质量,最终的问题便是bug的增多和代码债务的堆积。因此,代码review便日益提上了日程。当然人工review的效率还是相当低下的,于是我们采用了自动化代码review的工具,便是今天的主角:SonarQube。
SonarQube® 是一种自动代码审查工具,用于检测代码中的错误,漏洞和多余的代码。它可以与您现有的工作流程集成,以便在项目分支和拉取请求之间进行连续的代码检查。比如:
- SonarQube集成gitlab,在分支推送的时候自动进行代码检查分析,生成代码报告。
- SonarQube集成jenkins,在代码构建的时候自动进行代码分析,生成代码报告。
总之,SonarQube是可以配合一切好用的CI/CD工具进行自动化分析代码并生成代码报告,通过报告我们可以看到代码中可能存在的bug和代码债务。
官方网站:https://www.sonarqube.org/
SonarQube 支持的数据库有:PostgreSQL,Microsoft SQL Server,Oracle,注意7.9版本已经不对MySql进行官方的支持了,如果执意要用Mysql可能会遇到很多坑。当然有的朋友想用Mysql数据库,那么可以选择安装7.7以下版本(包括7.7)。
SonarQube 运行需要ES(ElasticSearch),当然这个不用我们安装,下载的安装包已经包含了ES。
因为我用到了Mysql数据库,综合软硬件说明我选择了7.7版本的SonarQube进行下载安装。
本文下载的版本是Sonarqube-7.7
下载地址:https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.7.zip(187.71MB)
SonarQube 的安装包是不分平台的,默认把所有平台的运行命令都下载下来,使用者根据不同环境运行不同的运行脚本。
1、下载SonarQube安装包
[root@Zabbix ~]# wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.7.zip
2、解压SonarQube安装包
[root@Zabbix ~]# unzip sonarqube-7.7.zip
[root@Zabbix ~]# mv sonarqube-7.7 /usr/local/sonarqube
- bin目录存放了各个环境的启动脚本
- conf目录存放着sonarqube的配置文件
- logs目录存放着启动和运行时的日志文件
3、配置SonarQube
# 我们首先需要通过配置文件修改sonarqube的Mysql连接字符串等信息,打开conf目录的sonar.properties
[root@Zabbix ~]# vim /usr/local/sonarqube/conf/sonar.properties