ОШИБКА: сервер сонара "http://localhost: 9000" не может быть достигнут
при выполнении следующей команды:
cmd/c C:\sonar-runner-2.4\bin\sonar-runner.bat
(сонарный бегун установлен на сборной машине)
я получаю следующие ошибки:
ОШИБКА: сервер сонара http://localhost:9000 'не может быть достигнут
ОШИБКА: Ошибка во время выполнения бегуна сонара
ОШИБКА: java.net.ConnectException: соединение отклонено: connect
ОШИБКА: вызвано: Connection отказано: connect
что может вызвать эти ошибки?
Hi dinesh,
это мой файл sonar-runner.properties:
sonar.projectKey=NDM
sonar.projectName=NDM
sonar.projectVersion=1.0
sonar.visualstudio.solution=NDM.sln
#sonar.sourceEncoding=UTF-8
sonar.web.host:sonarqube
sonar.web.port=9000
# Enable the Visual Studio bootstrapper
sonar.visualstudio.enable=true
# Unit Test Results
sonar.cs.vstest.reportsPaths=TestResults/*.trx
# Required only when using SonarQube < 4.2
sonar.language=cs
sonar.sources=.
Как вы можете видеть, я установил sonar.web.host:sonarqube
sonar.web.port = 9000, но когда я запускаю sonar-runner.bat, я все равно получаю
ОШИБКА: сервер Sonar http://localhost:9000 'не может быть достигнут - почему он все еще ищет localhost: 9000
а не sonarqube: 9000, как я установил?
я увидел, что в журнале sonar-runner.bat есть следующая строка:
INFO: Рабочий каталог: D:\sTFS\26091\Sources\NDM\Source..sonar
в то время как мое решение находится в D:\sTFS\26091\Sources\NDM\Source\
Это может быть проблемой?
спасибо,
Гай
Ответы
Ответ 1
Вы должны настроить Sonar-Runner для использования вашего существующего сервера SonarQube. Для этого вам необходимо обновить его файл conf/sonar-runner.properties
и указать URL-адрес сервера SonarQube, имя пользователя, пароль и URL-адрес JDBC. См. Https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner для получения подробной информации.
Если у вас еще нет запущенного сервера SonarQube, вы можете запустить его локально (с конфигурацией по умолчанию) - он свяжется с http://localhost: 9000 и будет работать с конфигурацией сонара-бегуна по умолчанию. См. Https://docs.sonarqube.org/latest/setup/get-started-2-minutes/ для получения подробной информации о том, как начать работу с сервером SonarQube.
Ответ 2
В конфигурационном файле вместо sonar.web.host появляется двоеточие вместо знака равенства.
Есть:
sonar.web.host:sonarqube
Должно быть
sonar.web.host=sonarqube
Ответ 3
В файле sonar.properties в папке conf у меня был hardcoaded ip моей машины, где sobarqube был установлен в свойстве sonar.web.host = 10.9 235.22 Я прокомментировал это, и он начал работать для меня.
Ответ 4
Для других, кто столкнулся с этой проблемой в проекте, который не использует файл sonar-runners.property, вы можете обнаружить (как я сделал), что вам нужно настроить файл pom.xml, добавив свойство sonar.host.url.
Например, мне нужно было добавить следующую строку под элементом "свойства":
<sonar.host.url>https://sonar.my-internal-company-domain.net</sonar.host.url>
Где URL указывает на наше внутреннее размещение сонара.
Ответ 5
Когда вы разрешаете порт 9000 брандмауэру в нужной вам операционной системе, следующая ошибка "ОШИБКА: сервер сонара" http://localhost: 9000 "не может быть достигнут" будет успешно удален. В Ubuntu это так же, как при вводе следующего Команда в терминале "sudo ufw allow 9000/tcp" эта ошибка будет удалена с сервера Jenkins, нажав сейчас на сборку в jenkins.
Ответ 6
Для меня проблема заключалась в том, что подключаемый модуль эхолота maven использовал прокси-серверы, определенные в файле maven settings.xml. Я пытался получить доступ к сонарку на другом (не псевдоним localhost), и поэтому он пытался использовать прокси-сервер для доступа к нему. Просто добавил мой псевдоним nonProxyHosts в settings.xml, и теперь он работает. Я не сталкивался с этой проблемой в плагине Maven Sonar 3.2, только после того, как я обновил его.
<proxy>
<id>proxy_id</id>
<active>true</active>
<protocol>http</protocol>
<host>your-proxy-host/host>
<port>your-proxy-host</port>
<nonProxyHosts>localhost|127.0.*|other-non-proxy-hosts</nonProxyHosts>
</proxy>enter code here