1. SonarQube 概述
SonarQube 是一个静态代码分析平台,用来持续分析和评测代码的质量,支持检测 Java、JavaScript、C#、C、C++ 等二十几种编程语言。通过 SonarQube 可以检测出项目中潜在的Bug、漏洞、代码规范、重复代码、缺乏单元测试的代码等问题,并提供了 UI 界面进行查看和管理。
SonarQube 由4部分构成:
- SonarQube Server
SonarQube Server 会启动3个主要进程:Web Server:UI 管理界面 Search Server:基于 Elasticsearch 的搜索服务 Compute Engine Server:计算引擎服务,进行代码分析并保存到SonarQube Database
- SonarQube Database
存储 SonarQube 实例的配置信息,项目、视图等的快照信息
- SonarQube Scanners
分析项目代码,可在构建、持续集成服务器上运行一个或多个
- SonarQube Plugins
SonarQube 插件管理
架构如下:
2. SonarQube 安装
在安装 SonarQube 之前,需要先安装 jdk(jdk版本11及以上版本)和 PostgreSQL(最新版已经不支持MySQL数据库了)
- 下载
https://www.sonarqube.org/downloads/
因为 SonarQube 分为社区版和商业版。下载社区版
下载完是一个zip压缩包,直接解压接口。这里解压到以下目录
C:\jenkins\sonarqube-9.3.0
- 创建数据库
创建 SonarQube 服务连接的数据库,库名为sonar
- 配置
修改 SonarQube 的 数据库配置,对应的配置文件如下:
C:\jenkins\sonarqube-9.3.0\conf\sonar.properties
增加如下配置
sonar.jdbc.username=root sonar.jdbc.password=root sonar.jdbc.url=jdbc:postgresql://localhost/sonar?currentSchema=public
3. 启动 SonarQube
SonarQube 服务的启动脚本在如下目录
C:\jenkins\sonarqube-9.3.0\bin
根据不同平台选择不同启动脚本。目前安装在windows系统,所以对应的启动脚本
C:\jenkins\sonarqube-9.3.0\bin\windows-x86-64\StartSonar.bat
启动成功提示如下
对应的 sonar 数据库会自动增加很多 SonarQube 服务的表结构
4. 访问 SonarQube 服务
SonarQube 服务的默认端口是9000,访问如下地址
http://localhost:9000
默认登录账号/密码:admin / admin。登录后的第一步就是修改 admin 用户的密码,根据实际情况修改自己的密码即可。进入首页如下:
至此,SonarQube 服务已正常搭建。