Установка платформы

Платформа SonarQube представляет собой композитное приложение разработанное на языке Java.

Комплект компонентов из которого состоит платформа можно представить в виде таблицы

Компонент Описание
SonarQube-Server Серверная часть платформы отвечающая за финальный анализ расчет метрик
SonarQube-Runner Консольное приложение для анализа проекта содержащего исходные коды
SonarQube-Plugins Комплект дополнительных расширений платформы
SonarQube-AST-Viewer Отдельное приложение для просмотра AST дерева исходного кода для создания своих правил проверки качества
SonarQube-Lint Отдельное приложение для подлюключения анализатора к среде разработки

Платформа подразумевает использование сторонних инженерных серверов для хранения исходных кодов и запуска анализа по расписанию, а именно

  • сервер SCM - служба хранения исходнных кодов, для анализа истории и авторов изменений

  • сервер CICD - служба запуска анализа по расписанию или "по событию"

В качестве способа хранения исходных кодов поддерживаются следующие типы систем контроля версий - GIT, CVS, Jazz RTC, Mercurial, Perforce, SVN, TFVC

Все примеры в данной документации даны для системы контроля версий GIT, однако концептуально платформа обеспечивает одноообразное поведение для всех платформ

Требования к нодам по ресурсам (если нужно ускориться, когда что-то работает медленно):

CPU RAM HDD
Сервер (SonarQube) Приоритет 2 – Операций по подсчету метрик качества по дереву исходных кодов близки к математическим, поэтому затраты на CPU высоки, хотя и не такие как к памяти Приоритет 1 - Анализ идет в памяти; да, JAVA требовательна к памяти очень сильно. Крайне желательно вызывать ежедневный Java GC (сборщик мусора) Приоритет 3 – Elastic и СУБД достаточно хорошо кешируют данные и читают их оптимально
Сканер (Sonar Runner) Приоритет 1 – построение авторства строки кода загружает 1 ядро на 100%, пусть и временно (особенность GIT BLAME) Приоритет 3 - Для проектов до 1 миллиона строк не сильно критично. Приоритет 2 – чтение исходных кодов - операция с диском. Кэш проверки также сохраняется на диск. SSD будет лучше всего ;-)

results matching ""

    No results matching ""