一.安装要求
1.1 软件要求
在进行sonarqube环境安装和搭建前务必确定当前机器和平台配置满足如下要求。机器上需要安装java(Oracle JRE 11 或 OpenJDK 11),SonarQube服务器需要的java版本为11,sonarqube scanner需要的jvm版本是8或11,因此这里我们使用java11。数据库支持PostgreSQL(9.6,10,11,12,和13)版本,MSSQL(12.0,13.0,14.0,15.0),Oracle(XE Editions,12C,18C,19C),WEB浏览器支持Safari最新版本,Opera,Google Chrome最新版本,Mozilla Firefox最新版本,Microsoft Edge最新版本和Microsoft Internet Explorer 的IE 11版本。除此之外,还需要注意,如果是运行在linux操作系统中,必须确保vm.max_map_count 大于或等于524288,fs.file-max 大于或等于131072,用户运行SonarQube可以打开至少131072个文件描述器和8192个线程,可以通过如下命令查看当前值
sysctl vm.max_map_count
sysctl fs.file-max
ulimit -n
ulimit -u
以及通过root用户设置如上四个值满足标准
sysctl -w vm.max_map_count=524288
sysctl -w fs.file-max=131072
ulimit -n 131072
ulimit -u 8192
1.2 硬件要求
SonarQube 服务器的小规模(个人或小团队)实例需要至少 2GB 的 RAM 才能有效运行,并且需要 1GB 的可用 RAM 供操作系统使用。
您需要的磁盘空间量取决于您使用 SonarQube 分析的代码量。
SonarQube 必须安装在具有出色读写性能的硬盘上。最重要的是,“数据”文件夹包含 Elasticsearch 索引,当服务器启动并运行时,将在这些索引上完成大量 I/O。因此,出色的硬盘读写性能将对 SonarQube 服务器的整体性能产生很大影响。
SonarQube 在服务器端不支持 32 位系统,SonarQube scanner支持 32 位系统。
二.Sonarqube安装步骤
2.1 实例整体架构
图1 SonarQube实例整体架构
如图1所示,sonarqube实例由三个部分组成:第一个部分是sonarqube服务器,主要运行以下三个进程:1.为 SonarQube 用户界面提供服务的 Web 服务器;2.基于 Elasticsearch 的搜索服务器;3.负责处理代码分析报告并将其保存在 SonarQube 数据库中的计算引擎。第二部分是存储以下内容的数据库:1.代码扫描期间生成的代码质量和安全性指标问题;2.sonarqube实例配置。最后一个部分是在您的CI/CD服