Sonarqube: Что это такое и зачем его использовать? | DATAENGINER

Sonarqube: Что это такое и зачем его использовать?

SonarQube — универсальный инструмент для статического анализа кода, который стал более или менее отраслевым стандартом. С SonarQube также намного проще сохранять код чистым, простым и легким для чтения.

Вы когда-нибудь слышали о SonarQube? Вы хотите знать, что это такое? А как им пользоваться? И его преимущества для производственной фазы разработки программного обеспечения. Тогда вы попали в нужное место; в этом руководстве по SonarQube я расскажу вам о каждом аспекте SonarQube.

Давайте нырнем!!!

Что такое SonarQube?

onarQube — это платформа с открытым исходным кодом, разработанная SonarSource для непрерывной проверки качества кода. Sonar выполняет статический анализ кода, который предоставляет подробный отчет об ошибках, запахах кода, уязвимостях, дублировании кода.

Он поддерживает 25+ основных языков программирования через встроенные наборы правил, а также может быть расширен с помощью различных плагинов.

Преимущества SonarQube

  1. Устойчивость — снижает сложность, возможные уязвимости и дублирование кода, оптимизируя жизнь приложений.
  2. Повышение производительности — сокращение масштабов, затрат на обслуживание и рисков приложения; как таковой, он устраняет необходимость тратить больше времени на изменение кода.
  3. Код качества. Контроль качества кода является неотъемлемой частью процесса разработки программного обеспечения.
  4. Обнаружение ошибок — обнаруживает ошибки в коде и предупреждает разработчиков, чтобы они исправляли их автоматически перед отправкой на вывод.
  5. Повышение согласованности — определяет, где нарушаются критерии кода, и повышает качество
  6. Масштабирование бизнеса — Нет ограничений на количество проектов для оценки
  7. Повышение квалификации разработчиков — регулярные отзывы о проблемах с качеством помогают разработчикам улучшить свои навыки программирования.

Почему 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:

Запустите сервер 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 вы получите базовое представление о функциональных возможностях, и, если вы так считаете, оставьте комментарий и продемонстрируйте свою поддержку.

Постоянный редактор и автор сайта

Leave a reply:

Your email address will not be published.

Site Footer