SonarQube¶
Загальний опис¶
SonarQube Server — платформа статичного аналізу коду (SAST + code quality), яка виявляє вразливості, помилки та code smells у вихідному коді та контролює якість коду через Quality Gates.
Рішення забезпечує:
- статичний аналіз безпеки коду (SAST) та виявлення вразливостей;
- пошук багів і code smells;
- вимірювання технічного боргу та покриття тестами;
- контроль якості через Quality Gates і Quality Profiles;
- інтеграцію з CI/CD (GitLab, GitHub, Jenkins, Azure DevOps).
Основні компоненти¶
| Компонент | Призначення |
|---|---|
| SonarQube Server | Веб-інтерфейс, Compute Engine та вбудований Elasticsearch |
| База даних | PostgreSQL — зберігає проєкти, налаштування, результати аналізів |
| SonarScanner CLI | Окремий інструмент, який запускається на машині з вихідним кодом і надсилає результати на сервер |
Примітка
Сканер встановлюється незалежно від способу розгортання сервера — на машині розробника або на CI-агенті.
Способи встановлення¶
| Варіант | Платформа | Коли використовувати |
|---|---|---|
| ZIP (нативно) | Windows Server | Коли Linux-контейнери недоступні (немає WSL2 / Hyper-V з nested virtualization) |
| Docker | Debian / Ubuntu | Основний варіант для Linux |
| Docker | RHEL / CentOS / Rocky / AlmaLinux | Основний варіант для RHEL-родини (додатково SELinux і firewalld) |
Загальні системні вимоги¶
| Параметр | Мінімум | Рекомендовано |
|---|---|---|
| RAM | 4 ГБ | 6–8 ГБ |
| CPU | 2 vCPU | 2–4 vCPU |
| Диск | 20 ГБ | 40+ ГБ |
| Java | 21 (для SonarQube 2026.x LTA) | — |
| База даних | PostgreSQL 15+ | — |
Nested virtualization
Якщо встановлення виконується у віртуальній машині всередині іншого гіпервізора — переконайтесь, що nested virtualization увімкнена на рівні хоста. Інакше Docker-контейнери можуть не піднятись.
Що описано в документації¶
Встановлення на Windows Server (ZIP)¶
Нативне встановлення без Docker: Java 21, PostgreSQL, розпакування дистрибутива, підключення до бази, реєстрація Windows-служби. Окремо пояснено, чому на Windows Server Docker-варіант зазвичай недоступний.
Встановлення на Linux (Docker)¶
Розгортання в контейнерах для Debian/Ubuntu та RHEL-родини: встановлення Docker Engine, обов'язкові ядрові налаштування для Elasticsearch, мережа, volumes, запуск PostgreSQL і SonarQube.
Ліцензування¶
Отримання Server ID, запит ліцензійного ключа Enterprise Edition у вендора та його застосування.
SonarScanner CLI¶
Встановлення сканера на Windows і Linux, генерація токена аналізу, запуск першого сканування та виключення файлів з аналізу.
Наступні розділи¶
Оберіть розділ відповідно до вашої платформи: Встановлення на Windows Server або Встановлення на Linux (Docker). Розділи Ліцензування та SonarScanner CLI актуальні для всіх варіантів розгортання.