🐳 Анализ кода с помощью SonarQube на Docker |

🐳 Анализ кода с помощью SonarQube на Docker

Мануал

Установка и настройка SonarQube

Я раньше использовал codelyzer, и в некотором смысле он очень похож на tslint.

Однако я хотел протестировать что-то новое и подумал, что на этот раз давайте попробуем SonarQube.

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

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

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

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

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

Так что без дальнейших церемоний, давайте к делу.

Установка

Документация действительно отличная, однако вскоре я понял, что мне нужно установить множество зависимостей, чтобы это все работало.

Я подумал о том, как избежать лишних установок, и все стало проще, когда я увидел образ Docker.

В Docker Hub вы можете найти информацию, необходимую для начала работы, но для целей этой статьи я просто использую одну команду, чтобы начать работу.

docker run -d --name sonarqube -p 9000:9000 sonarqube
Эта команда заберет образ и создаст из него контейнер.

Запустит контейнер в фоновом режиме, а затем выставит порт 9000 на хосте.

После этого вам нужно подождать несколько минут для запуска сервера.

Вы можете открыть браузер и перейти на localhost:9000, чтобы увидеть панель управления сервером.

Sonarqube пароль и логин по умолчанию

Используйте имя пользователя по умолчанию admin а и пароль admin для входа в систему.

Создание проекта

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

После входа в систему нажмите кнопку «create a new project» в центре страницы, затем введите уникальный ключ проекта и отображаемое имя.

На следующей странице введите имя для вашего токена проекта.

Это ключ, который сканер будет использовать для аутентификации на сервере и отправки результатов сканирования.

Запишите этот ключ, так как вы никогда его не больще увидите, когда уйдете с этой страницы.

Нажмите Continue, и вы увидите экран, где вы можете указать конфигурацию вашего проекта.

Выберите необходимые компоненты.

Скачивание сканера

На этом этапе вам необходимо скачать сканер и разархивировать его в папку с именем sonarqube на вашем диске.

Я обычно использую инструменты c:\ для такого рода использования (замените его тем, что вы использовали, если вы решили разархивировать его в другом месте).

После этого откройте файл конфигурации сканера с именем sonar-scanner.properties из папки c:\tools\sonarqube\config и раскомментируйте строку, в которой указан адрес сервера.

#Configure here general information about the environment, such as SonarQube server connection details for example
#No information about specific project should appear here

#----- Default SonarQube server
sonar.host.url=http://localhost:9000

#----- Default source code encoding
sonar.sourceEncoding=UTF-8

Запуск сканирования

Как только вы закончите, вы готовы к работе.

Запустите приведенную ниже команду из корня проекта и дождитесь окончания сканирования.

C:\tools\sonar\bin\sonar-scanner.bat -D"sonar.projectKey=fp" -D"sonar.sources=." -D"sonar.host.url=http://localhost:9000" -D"sonar.login=**********************************" -D"sonar.exclusions=node_modules/**/*"
Не забудьте заменить ключ, полученный на предыдущем шаге в аргументе sonar.login.
💡 На последнем шаге, когда вы загрузили zip-файл сканера, команда, которую необходимо выполнить, записана для того, чтобы вы были готовы к работе, просто добавьте папку exclude, чтобы избежать анализа кода во внешних библиотеках.
Сканирование завершится в зависимости от размера базы кода.
Но как только все будет сделано, вы сможете увидеть результат на панели инструментов SonarQube.
ℹ️ Не забудьте запустить npm install или yarn, если вы только что раздвоили базу кода из своего git-репозитория. Я столкнулся с несколькими ошибками, прежде чем понял, что они не установлены, и они используются сканером.
И как только это будет сделано, вот как будет выглядеть ваша приборная панель.
Очевидно, кодовая база, которую я просматривал, была немного хаотичной.

Добавить комментарий