SonarQube — универсальный инструмент для статического анализа кода, который стал более или менее отраслевым стандартом. С SonarQube также намного проще сохранять код чистым, простым и легким для чтения.
Вы когда-нибудь слышали о SonarQube? Вы хотите знать, что это такое? А как им пользоваться? И его преимущества для производственной фазы разработки программного обеспечения. Тогда вы попали в нужное место; в этом руководстве по SonarQube я расскажу вам о каждом аспекте SonarQube.
Давайте нырнем!!!
Что такое SonarQube?
onarQube — это платформа с открытым исходным кодом, разработанная SonarSource для непрерывной проверки качества кода. Sonar выполняет статический анализ кода, который предоставляет подробный отчет об ошибках, запахах кода, уязвимостях, дублировании кода.
Он поддерживает 25+ основных языков программирования через встроенные наборы правил, а также может быть расширен с помощью различных плагинов.
Преимущества SonarQube
- Устойчивость — снижает сложность, возможные уязвимости и дублирование кода, оптимизируя жизнь приложений.
- Повышение производительности — сокращение масштабов, затрат на обслуживание и рисков приложения; как таковой, он устраняет необходимость тратить больше времени на изменение кода.
- Код качества. Контроль качества кода является неотъемлемой частью процесса разработки программного обеспечения.
- Обнаружение ошибок — обнаруживает ошибки в коде и предупреждает разработчиков, чтобы они исправляли их автоматически перед отправкой на вывод.
- Повышение согласованности — определяет, где нарушаются критерии кода, и повышает качество
- Масштабирование бизнеса — Нет ограничений на количество проектов для оценки
- Повышение квалификации разработчиков — регулярные отзывы о проблемах с качеством помогают разработчикам улучшить свои навыки программирования.
Почему SonarQube?
Разработчики работают в жесткие сроки, чтобы предоставить заказчику необходимый функционал. Это настолько важно для разработчиков, что они часто идут на компромисс с качеством кода, потенциальными ошибками, дублированием кода и плохим распределением сложности.
Кроме того, они, как правило, оставляют неиспользуемые переменные, методы и т. д. В этом сценарии код будет работать желаемым образом.
Как вы думаете, это правильный способ реализации функциональности?
Ответ — нет.
Чтобы избежать этих проблем в коде, разработчики всегда должны следовать хорошей практике кодирования, но иногда невозможно следовать правилам и поддерживать хорошее качество, поскольку может быть много причин.
Чтобы обеспечить непрерывную интеграцию и развертывание кода, разработчикам нужен инструмент, который не только работает один раз, чтобы проверить и сообщить им о проблемах в коде, но также отслеживать и контролировать код для непрерывной проверки качества кода. Чтобы удовлетворить все эти требования, на картинке представлен SonarQube.
Как настроить и использовать плагин sonarqube
В этом разделе объясняются шаги или процедуры по настройке плагина sonarqube для всех основных языков программирования.
Предпосылки:
Единственное предварительное условие для запуска SonarQube — наличие установленной на вашем компьютере Java (Oracle JRE 11 или OpenJDK 11). [ подробности ]
Установите системную переменную PATH: ( https://www.java.com/en/download/help/path.xml ) [https://www.java.com/en/download/help/path.xml]
Примечание. Для анализа кода JavaScript на компьютере, на котором выполняется сканирование, должен быть установлен Node.js> = 8. Если стандартный узел недоступен, вы должны установить для свойства
sonar.nodejs.executable
абсолютный путь к исполняемому файлу Node.js. [ подробности ]
Загрузки Sonarqube и Sonar Scanner:
- LTS-версия sonarqube ( https://www.sonarqube.org/downloads )
- Загрузите сонар-сканер на основе вашей платформы ( https://docs.sonarqube.org/latest/analysis/scan/sonarscanner/ ). После вышеуказанного процесса добавьте путь к сонарному сканеру в переменные среды.
Запустите сервер Sonarqube:
Чтобы запустить сервер сонара, откройте cmd или терминал и установите путь к папке bin sonarqube, выберите платформу и выполните следующую команду.
Примеры :
#For Windows(cmd): C:\sonarqube\bin\windows-x86-64>StartSonar.bat
#For other OS (terminal): C:\sonarqube\bin\[OS]>sonar.sh
После успешного запуска сервера сонара войдите в систему на http://localhost:9000 с учетными данными системного администратора (логин = admin, пароль = admin).
Создание и анализ проекта:
- Перейдите к созданию нового проекта и введите ключ проекта и отобразите сведения об имени. (знак + вверху справа).
- Предоставьте токен, создав токен или используя существующий токен (найдите существующий токен на странице http: // localhost:9000/account/security ).
- Выполните анализ проекта, выбрав язык программирования, используемый в репозитории, и ОС вашей системы.
- Поскольку мы уже загрузили и настроили путь к сонарному сканеру, не нужно загружать его снова.
- Теперь скопируйте отображаемую команду, перейдите по пути к проекту и запустите скопированную команду. Это выглядит так:
sonar-scanner.bat -D"sonar.projectKey=rtetre" -D"sonar.sources=."-D"sonar.host.url=http://localhost:9000" -D"sonar.login=e932dxxxxx9a8e5c7903xxxxxx96928xxxxxxx"
После завершения анализа вы можете либо просмотреть предоставленную ссылку, чтобы просмотреть отчет эхолота напрямую [Пример: http: // localhost: 9000 / dashboard? Id =], либо перейти в раздел проекта, чтобы просмотреть вновь созданный отчет сонара ваш проект.
Если вы хотите исключить некоторые файлы из анализа (например, тестовые файлы), перейдите в раздел администрирования и перейдите к настройке «Общие», выберите используемый язык программирования и задайте список шаблонов путей к файлам, которые следует исключить из анализа.
Теперь повторно запустите указанную выше команду анализа для обновленного отчета сонара.
Заключение
Цель SonarQube — в первую очередь расширить возможности разработчиков и создать открытое сообщество по вопросам качества и безопасности кода. Я надеюсь, что с помощью этого краткого руководства по sonarqube вы получите базовое представление о функциональных возможностях, и, если вы так считаете, оставьте комментарий и продемонстрируйте свою поддержку.