# SonarQube

## Не открывает веб-интерфейс Сонара. Что делать?

Если вы используете рабочую машину, то высока вероятность что порт 9000 у вас закрыт. Для того, чтобы его открыть нужно добавить этот порт в исключения в брандмауэре (https://docs.microsoft.com/ru-ru/sql/reporting-services/report-server/configure-a-firewall-for-report-server-access?view=sql-server-ver15).


## Батник выгрузки проверки АПК стартует, но выгрузка не появляется. Что делать?

Текущая версия обработки `acc-export.epf` к сожалению не логирует свои действия в журнале регистрации. Рекомендую дописать записи журнала в обработку. В указанном вопросе причина была в том, что `acc-export.epf` не находил файл с настройками, т.к. в параметре батника использовали относительный путь. Помогла замена пути на абсолютный.


## Не стартует сервер СонарКуб. Что делать?

Проверьте, что в файле wrapper.conf вы добавили прямые слеши `/`, а не обратные слеши `\` (как в Windows)

Например, при вставке путей к jdk\java и т.п.


## При запуске `StartSonar.bat` исключение "java.nio.file.FileSystemException: процесс не может получить доступ к файлу, так как он занят другим процессом". Что делать?

Завершите в диспетчере задач процесс wrapper.exe и все процессы java.exe.

Либо перезагрузите компьютер.


## Можно ли закрывать окно-cmd после запуска Сонар? А то оно висит, глаза мозолит. В прошлый раз я закрыл во время работы сонара, в итоге плагины не установились.

Нельзя, т.к. с закрытием консоли закрывается и процесс сонара, т.е. он перестает работать.

Не будет мозолить, если запускать сонар как сервис.


## Нужно ли создавать специальную почту для рассылки Сонара и её настраивать? При стандартных настройках Сонара (ничего не настраивал), почта не отправляется.

Создавать нужно и также необходимо указать параметры в разделе Общие - Электронная почта.


## Установил сонар, запустил. При переходе по ссылке http://localhost:9000 - запрашивается логин и пароль. Какие логин и пароль использовать?

Нужно использовать login: admin, password: admin.


## При попытке запустить службу SonarCube выскакивает ошибка. The SonarQube service is not installed (0x424). Что делать?

Раньше в дистрибутив входил скрипт установки службы, сейчас его нет.

Есть два альтернативных варианта:

1. При помощи команды `sc create SonarQube binPath= "\"%SONAR_HOME%\bin\windows-x86-64\wrapper.exe\" -s \"%SONAR_HOME%\conf\wrapper.conf\""` (см. https://docs.sonarqube.org/8.9/setup/operate-server/), переменная окружения `SONAR_HOME` - это папка куда установили сонаркуб.

2. Используя утилиту nssm (https://nssm.cc/)



## При запуске сонара возникает ошибка "Unable to execute java command ... (0x05) ... Access denied errors when attempting to launch the Java process are usually caused by strict access permissions assigned to the directory in which Java is installed". Что делать?

Проверьте, как у вас задан `wrapper.java.command` во `wrapper.config`, он должен заканчиваться на `\java` (т.е. указывать на исполняемый файл java), а не просто на `\bin`.

(по мотивам ответа в  https://stackoverflow.com/questions/48864851/unable-to-execute-java-command-access-is-denied-0x5)


## Как остановить Сонар? Запустил через StartSonar.bat

Правильно закрыть SonarQube в Win как и любое консольное приложение в Linux - нажать комбинацию клавишь `Ctrl+C`, в этом случае он завершит работу всех дочерних процессов корректно и `java.exe` тоже закроется.


##  В веб-интерфейсе Sonar нет кнопки install для плагинов. В чем может быть проблема?

Нужно принять согласие с рисками. Поищите в интерфейсе кнопку с наименованием, заканчивающимся на слово `risk` и подтвердите, что принимаете риски от установки плагинов, нажав на эту кнопку. После этого кнопка установки плагинов должна появиться.


## Нужно ли SonarQube подключать к MS SQL?

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


## В Internet Explorer при попытке создать пользователя в SonarQube нет никакой реакции на нажатие кнопки "Создать". Сонар запущен, почту пробовал заполнять, пароль ставил сложнее - не помогло. Что делать?

Нужно использовать современные браузеры (Mozilla Firefox, рекомендуется Google Chrome). В Internet Explorer будут ошибки в работе, т.к. он не поддерживается.


## Не получается подключить сонар к базе MS SQL. Сонар зависает при запуске.

Убедитесь, что у вас включено использование портов TCP/IP для протоколов SQLServer (Управление компьютером - Службы и приложения - Диспетчер конфигурации SQL - Сетевая конфигурация SQL - Протоколы для SQL - TCP/IP - включено).


## Сонар долго висит при рестарте после установки плагинов. С чем может быть связана проблема?

Проверьте лог web.log в папке logs - там должно быть сообщение о проблеме.


## В чем может быть причина ошибки "Java.Lang.ArgumentException: 31 is not valid line offcet for pointer. File /path/to/file has 15 character(s) at line 115"

Убедитес, что используете плагин BSL Language Server старше 1.9.

Это ошибка плагина BSL до версии 1.9, в https://github.com/1c-syntax/bsl-language-server/issues/1473

Возникает, когда в анализируемом коде есть разрыв инструкий конструкциями `#Вставка` и `#Удалить`.

В релизе 1.9 ошибка устранена.


## Обязательно ли нужно подключать СУБД к SonarQube ?

На самом деле СонарКуб с внутренней СУБД тянет проекты разного уровня. И в большинстве случаев хватает достаточно надолго.

Проблемы чаще в другом - такой СонарКуб нельзя обновить на новую версию.

А обновления выпускаются довольно часто. Обновиться можно только, поставив СонарКуб с нуля и заново выполняя анализ всех проектов.

В этом случае аналитика\метрики сбрасываются, что не страшно, но бывает неудобно.


## Как в allure и sonar смотреть динамику? В allure не нашел, sonar не смотрел пока.

В Аллюр есть раздел Тренды
- на главном дашборде
- в форме просмотра замечаний конкретного теста

В СонарКуб-е есть графики для метрик, например, самый популярный на главной странице проекта - с количеством замечаний\ошибок в проекте.


## Можно ли в комьюнити сонаре переключить ветку для анализа с мастера на произвольную?

Можно при использовании плагина `community-branch-plugin`.

Он ставится не через Маркетплейс СонарКуб-а, а качается релиз с гитхаба и подклаывается в каталог extension.


## Что необходимо сделать если после установки плагинов сонар не запускается?

Перезагрузиться.


## Можно ли в интерфейсе Сонара остаться в англоязычном интерфейсе (не переключаться на русский)?

Да, можно остаться в английском интерфейсе. Выполнению заданий это не помешает.


## При скачивании jdk, просит регистрацию в оракл... Не там скачиваю?

Поставьте вместо нее LibericaJDK от Bellsoft

https://github.com/bell-sw/Liberica/releases

Либо https://adoptopenjdk.net/ (там есть видеоинструкция)


## Sonar завис в режиме Loading... навсегда...  Из-за чего может быть такое?

Используйте актуальный LTS-релиз Сонара. Также убедитесь, что используйте ту версию JDK, которую он поддержвает. Например, версии до 9 не работали с JDK 17, а с версии 9.х, наоборот, СонарКуб начал отказываться от JDK 11 в пользу JDK 17.


## Можно использовать Liberica JDK вместо Open JDK?

Да.


## Как заставить работать sonarcube с mssql? Конфиг прописал, драйвер добавил, базу в mssql создал, права пользователю дал. При запуске всё равно использует H2

1. Убедитесь, что строка подключения указана в формате:

```
sonar.jdbc.url=jdbc:sqlserver://localhost;databaseName=sonar
```

и что в ней указано правильно `databaseName`.


2. Проверьте использование портов TCP/IP для протоколов SQLServer (Управление компьютером - Службы и приложения - Диспетчер конфигурации SQL - Сетевая конфигурация SQL - Протоколы для SQL - TCP/IP - включено)

3. Если ничего не помогает, приложите в чате логи СонарКуб - папка logs из каталога установки СонарКуб. Нужны файлы `web.log`, `main.log`, `es.log`.


## Русификатор sonarqube-8.9.3.48735 где найти?

Установка плагинов продемонстрирована в посленем видео про Сонар. Плагин  ""Russian PackLocalization""  устанавливается на http://localhost:9000/admin/marketplace (предварительно нужно подтвердить согласие с рисками установки плагинов третьих лиц, иначе кнопка Install для установки плагинов будет недоступна).



##
