Ответ 1
Запуск сонара с помощью
mvn sonar:sonar -Dsonar.jdbc.url=jdbc:h2:tcp://ipaddr:9092/sonar -Dsonar.host.url=http://ipaddr:9000
где ipaddr - ваш удаленный хост, похоже, работает.
У меня есть maven, установленный на моей локальной машине, и я пытаюсь проверить Sonar, установленный на удаленном ящике.
Я нашел несколько сообщений в Интернете, чтобы настроить settings.xml
(maven\config\settings.xml)
и добавить запись профиля..., которую я сделал, но не работает
<profile>
<id>sonar</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<!-- SERVER ON A REMOTE HOST -->
<sonar.host.url>http://remotebox:9000</sonar.host.url>
</properties>
</profile>
Что такое способ cli? Я попробовал несколько вариантов, но ничего не получилось.
Я пробовал: mvn sonar:sonar http://remotebox:9000
Каков правильный синтаксис?
Спасибо заранее. Damian
PS. это прекрасно работает на удаленном ящике, где установлены оба maven и sonar... я просто хочу попробовать его в коробке для удаленной коробки.
Запуск сонара с помощью
mvn sonar:sonar -Dsonar.jdbc.url=jdbc:h2:tcp://ipaddr:9092/sonar -Dsonar.host.url=http://ipaddr:9000
где ipaddr - ваш удаленный хост, похоже, работает.
До Версии 5.2 рядом с sonar.host.url
вам также необходимо указать параметры базы данных, как описано здесь, Таким образом, это работает для меня.
Пример конфигурации
<profile>
<id>sonar</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<!-- EXAMPLE FOR MYSQL -->
<sonar.jdbc.url>
jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8
</sonar.jdbc.url>
<sonar.jdbc.username>sonar</sonar.jdbc.username>
<sonar.jdbc.password>sonar</sonar.jdbc.password>
<!-- optional URL to server. Default value is http://localhost:9000 -->
<sonar.host.url>
http://myserver:9000
</sonar.host.url>
</properties>
</profile>
Так как Версия 5.2 больше не требуется:
Сканеры не получают доступ к базе данных
Это самое большое изменение этой новой версии: сканеры (например, Sonar Runner) больше не обращаются к базе данных, они используют только веб-службы для связи с сервером. На практике это означает, что свойства соединения JDBC теперь могут быть удалены из заданий анализа CI: sonar.jdbc.url, sonar.jdbc.username, sonar.jdbc.password
Как объясняется, вам нужно указать детали соединения JDBC, иначе Sonar попытается поговорить со встроенным экземпляром Derby, он предполагает, что он запущен на локальном хосте.
Вы используете Derby? Ну, конфигурация Derby по умолчанию не принимает удаленные подключения, а только соединения с одного и того же хоста.
Проблема SONAR-1039 объясняет, как обойти эту проблему, но я бы посоветовал настроить полномасштабную базу данных, такую как MySQL или Postgresql.
Для sonar-maven-plugin:3.2
выполняется следующее:
mvn sonar:sonar -Dsonar.host.url=http://<sonarqubeserver>:<port>
У меня была какая-то проблема, а затем я понял, что я запускал mavn на родительском pom, тогда как конфигурация сонара была в дочернем pom, для чего я все же хотел получить аналитический отчет, так что работающий mvn-sonar: сонар с дочерним pom работал.