您必须能够在计划运行 SonarQube 的计算机上安装 Java(Oracle JRE 或 OpenJDK)。
SonarQube 服务器的小规模(个人或小团队)实例需要至少 2GB RAM 才能高效运行,并需要 1GB 可用 RAM 用于操作系统。如果您要为大型团队或企业安装实例,请考虑以下其他建议。
您需要的磁盘空间量取决于您使用 SonarQube 分析的代码量。
SonarQube 必须安装在具有出色读写性能的硬盘上。最重要的是,“data”文件夹包含 Elasticsearch 索引,当服务器启动并运行时,将在该索引上完成大量 I/O。因此,硬盘的读写性能将对SonarQube服务器的整体性能产生很大影响。
对于大型团队或企业规模的 SonarQube 安装,需要额外的硬件。在企业级别, 监控 SonarQube 实例 至关重要,并且应该随着实例的增长指导进一步的硬件升级。起始配置应至少包括:
8 个核心,允许主 SonarQube 平台与多个计算引擎工作线程一起运行
16GB RAM 有关数据库和 Elasticsearch 的其他要求和建议,请参阅 硬件建议。
SonarQube 服务器需要 Java 版本 17,SonarQube 扫描仪需要 Java 版本 11 或 17。
SonarQube 能够分析任何类型的 Java 源文件,无论它们遵循的 Java 版本如何。
我们建议使用关键补丁更新(CPU) 版本。
爪哇 | 服务器 | 扫描仪 |
甲骨文JRE | 17 号 | 17 号 |
11 | 11 | |
OpenJDK | 17 号 | 17 号 |
11 | 11 |
数据库 | |
PostgreSQL | 15 |
14 | |
13 | |
12 | |
11 | |
必须配置为使用 UTF-8 字符集 | |
微软SQL服务器 | 2022 (MSSQL 16.0),附带捆绑的 Microsoft JDBC 驱动程序。支持 Express 版本。 |
2019 (MSSQL Server 15.0) 附带捆绑的 Microsoft JDBC 驱动程序。支持 Express 版本。 | |
2017 (MSSQL Server 14.0) 附带捆绑的 Microsoft JDBC 驱动程序。支持 Express 版本。 | |
2016 (MSSQL Server 13.0) 附带捆绑的 Microsoft JDBC 驱动程序。支持 Express 版本。 | |
2014 (MSSQL Server 12.0) 附带捆绑的 Microsoft JDBC 驱动程序。支持 Express 版本。 | |
排序规则必须区分大小写 (CS) 和重音敏感 (AS)(例如: | |
| |
支持 Windows 身份验证(“集成安全性”)和 SQL Server 身份验证。有关配置身份验证的说明,请参阅安装服务器中的 Microsoft SQL Server 部分。 | |
甲骨文 | 21C |
19C | |
XE版本 | |
必须配置为使用 UTF8 系列字符集(请参阅 参考资料 | |
| |
我们建议使用最新的 Oracle JDBC 驱动程序。 | |
仅支持精简模式,不支持 OCI。 | |
仅 |
要获得 SonarQube 提供的完整体验,您必须在浏览器中启用 JavaScript。
浏览器 | |
微软边缘 | 最新的 |
火狐浏览器 | 最新的 |
谷歌浏览器 | 最新的 |
苹果浏览器 | 最新的 |
如果您在 Linux 上运行,则必须确保:
vm.max_map_count
大于或等于524288
fs.file-max
大于或等于131072
运行 SonarQube 的用户可以打开至少 131072 个文件描述符
运行SonarQube的用户可以打开至少8192个线程
您可以使用以下命令查看这些值:
sysctl vm.max_map_countsysctl fs.file-maxulimit -nulimit -u
您可以通过运行以下命令为当前会话动态设置它们 root
:
sysctl -w vm.max_map_count=524288sysctl -w fs.file-max=131072ulimit -n 131072ulimit -u 8192
要更永久地设置这些值,您必须更新 /etc/sysctl.d/99-sonarqube.conf
(或 /etc/sysctl.conf
根据您的意愿)以反映这些值。
如果运行 SonarQube 的用户(sonarqube
在本例中)没有权限打开至少 131072 个描述符,则必须插入此行 /etc/security/limits.d/99-sonarqube.conf
(或 /etc/security/limits.conf
根据您的意愿):
sonarqube - nofile 131072sonarqube - nproc 8192
如果您使用 systemd
启动 SonarQube,则必须在单元文件中的以下部分中指定这些限制[Service]
:
[Service]...LimitNOFILE=131072LimitNPROC=8192...
默认情况下,Elasticsearch 使用seccomp
过滤器。确保您使用的内核启用了 seccomp。
要检查seccomp
您的内核是否可用,请使用:
$ grep SECCOMP /boot/config-$(uname -r)
如果您的内核有seccomp
,您将看到以下内容:
CONFIG_HAVE_ARCH_SECCOMP_FILTER=yCONFIG_SECCOMP_FILTER=yCONFIG_SECCOMP=y
生成 执行报告 需要在托管 SonarQube 的服务器上安装字体。在 Windows 服务器上,这是理所当然的。然而,Linux 服务器的情况并非总是如此。
应确保以下几点:
Fontconfig 安装在托管 SonarQube 的服务器上
SonarQube 服务器上安装了FreeType字体包 。可用的确切软件包因发行版而异,但常用的软件包是 libfreetype6
SonarQube 不会在强制执行 FIPS(联邦信息处理标准)的 Linux 主机上运行。
Copyright © 2022 All Rights Reserved. 地址:上海市浦东新区崮山路538号808 苏ICP123456 XML地图