Sonarqube – это инструмент для автоматической проверки кода, позволяющий обнаруживать ошибки, уязвимости и неточности в вашем коде. Он может интегрироваться с вашим существующим рабочим процессом, чтобы обеспечить непрерывную проверку кода в ваших ветвях проекта и запросах на вытягивание.

Основные требования:
-›
JDK версии › 8

Давайте перейдем к Sonarqube:
Sonarqube состоит из трех компонентов.

  1. Веб-сервер Sonarqube (шаг 1)
  2. База данных (шаг 2)
  3. Сканер Sonarqube (шаг 3)

Шаг 1 — веб-сервер Sonarqube

  • Веб-сервер Sonarqube по умолчанию отвечает за обслуживание приложения через порт 9000.
  • Сначала нам нужно скачать zip-файл. Загрузите соответствующую версию sonarqube по этой ссылке: https://www.sonarqube.org/downloads/
  • После загрузки распакуйте zip и откройте следующий путь /sonarqube/bin/linux-x84–64/
  • Теперь выполните следующую команду, чтобы запустить приложение sonarqube.

./sonar.sh старт

  • Если вы хотите проверить все поддерживаемые команды, просмотрите справку, выполнив следующую команду.

./sonar.sh — помощь

Примечания:
-> Убедитесь, что вы запускаете sonarqube от имени пользователя без прав администратора.
-> пользователь должен быть владельцем каталога и иметь все привилегии.

Шаг 2 — Настройка базы данных

  • В настоящее время Sonarqube поддерживает 3 базы данных.
  • Оракул
  • PostgreSQL
  • Microsoft SQL-сервер

В этом уроке я покажу вам, как интегрироваться с PostgreSQL.

  • Сначала установите PostgreSQL, перейдя по ссылке ниже.

https://www.digitalocean.com/community/tutorials/how-to-install-and-use-postgresql-on-ubuntu-20-04

После установки PostgreSQL откройте оболочку psql bash и выполните приведенные ниже команды.

CREATE USER sonar ; 
// name should be same as your ubuntu non-admin username on which  // you are running the sonarqube-web-server
ALTER USER sonar WITH PASSWORD ‘PASSWORD’; 
CREATE DATABASE sonardb WITH ENCODING ‘UTF8’; 
ALTER DATABASE sonardb OWNER TO sonar; 
ALTER USER sonar SET search_path TO public; //optional

Теперь нам нужно настроить базу данных, которую мы создали с помощью
sonarqube-web-server.

Откройте файл sonar.properties, расположенный в папке sonarqube/config
(загруженный на шаге 1), и внесите следующие изменения.

sonar.jdbc.username=sonar 
sonar.jdbc.password=PASSWORD sonar.jdbc.url=jdbc:postgresql://localhost:5432/sonardb

Вот и все, настройка базы данных завершена. Давайте посмотрим, как сканировать ваш проект с помощью Sonarqube для выявления угроз безопасности и запахов кода.

Шаг 3 – сканер Sonarqube

  • Это поможет отсканировать наш код и сгенерировать отчет.
  • Для узловых проектов мы можем установить сканер sonarqube с помощью следующей команды.
$ npm install -g sonarqube-scanner
  • Для любого другого проекта проверьте раздел сканеров в официальной документации.
  • После того, как мы установили sonarqube-scanner глобально с помощью приведенной выше команды, мы можем использовать sonarqube-scanner глобально где угодно.
  • Откройте репозиторий проекта и создайте файл с именем sonar-project.properties и укажите необходимую конфигурацию.
# required metdata
sonar.projectKey=ProjectName or ProjectId
sonar.projectVersion=1.0
sonar.sourceEncoding=UTF-8
sonar.language=js
sonar.eslint.eslintconfigpath=./eslintrc.json
# path to srouce directories
sonar.sources=.
# sonar.tests=./test/integration/api/
# excludes
sonar.exclusions=./node_modules/*,./coverage/lcov-report/*
#login credentials
sonar.login=admin (default, optional) 
sonar.password=admin (default, optional)

Теперь мы можем начать сканирование нашего проекта, используя следующую команду.

$ Sonar-scanner

После завершения сканирования мы можем проверить отчет по адресу http://localhost:9000/.

Спасибо