Подтвердить что ты не робот

Maven, соединяющий сонар

У меня есть 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... я просто хочу попробовать его в коробке для удаленной коробки.

4b9b3361

Ответ 1

Запуск сонара с помощью

mvn sonar:sonar -Dsonar.jdbc.url=jdbc:h2:tcp://ipaddr:9092/sonar -Dsonar.host.url=http://ipaddr:9000

где ipaddr - ваш удаленный хост, похоже, работает.

Ответ 2

До Версии 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&amp;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

Ответ 3

Проблема 1

Как объясняется, вам нужно указать детали соединения JDBC, иначе Sonar попытается поговорить со встроенным экземпляром Derby, он предполагает, что он запущен на локальном хосте.

Проблема 2

Вы используете Derby? Ну, конфигурация Derby по умолчанию не принимает удаленные подключения, а только соединения с одного и того же хоста.

Проблема SONAR-1039 объясняет, как обойти эту проблему, но я бы посоветовал настроить полномасштабную базу данных, такую ​​как MySQL или Postgresql.

Ответ 4

Для sonar-maven-plugin:3.2 выполняется следующее:

mvn sonar:sonar -Dsonar.host.url=http://<sonarqubeserver>:<port>

Ответ 5

У меня была какая-то проблема, а затем я понял, что я запускал mavn на родительском pom, тогда как конфигурация сонара была в дочернем pom, для чего я все же хотел получить аналитический отчет, так что работающий mvn-sonar: сонар с дочерним pom работал.