Sonarqube – это инструмент для автоматической проверки кода, позволяющий обнаруживать ошибки, уязвимости и неточности в вашем коде. Он может интегрироваться с вашим существующим рабочим процессом, чтобы обеспечить непрерывную проверку кода в ваших ветвях проекта и запросах на вытягивание.
Основные требования:
-› JDK версии › 8
Давайте перейдем к Sonarqube:
Sonarqube состоит из трех компонентов.
- Веб-сервер Sonarqube (шаг 1)
- База данных (шаг 2)
- Сканер 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/.