Сонар 2.13.1 с MySQL 5.1 выпуск - PullRequest
2 голосов
/ 08 февраля 2012

Мы новичок в Sonar и только что скачали v2.13.1 и получили его и работаем с нашим проектом.Это было здорово, пока он не начал работать медленно, и я понял, что это потому, что мы все еще работали на включенном Дерби.Мы запускаем MySQL Server 5.1 на том же компьютере (вместе с TeamCity CI), поэтому я выполнил шаги по настройке MySQL.

  • Я запустил extras\database\mysql\create_database.sql, чтобы создать пользователя сонара и назначить разрешения.
  • Я обновил conf\sonar.properties, включив в него:

    sonar.jdbc.url:                            jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8
    sonar.jdbc.driverClassName:                com.mysql.jdbc.Driver
    sonar.jdbc.validationQuery:                select 1
    
  • Я перезапустил сервер Sonar и увидел из журналов, что таблицы базы данных были созданы, и я могуподтвердите это самостоятельно, просмотрев базу данных.

  • Когда я запускаю сервер, я получаю в журнале следующее:

    2012.02.07 13:50:58 INFO  o.s.c.p.Database  Create JDBC datasource
    2012.02.07 13:51:01 INFO  org.sonar.INFO  Initializing Hibernate
    2012.02.07 13:51:11 INFO  org.sonar.INFO  Start services...
    
  • КогдаЯ запускаю нашу конфигурацию TeamCity, которая выполняет «mvn clean install» с последующей целью «mvn sonar:sonar», которая ранее работала под Derby, наша сборка завершается успешно, но Sonar умирает со следующей информацией:

    [14:11:24] [west-chai:my-project] [INFO] --- sonar-maven-plugin:2.0:sonar (default-cli) @ my-project ---
    [14:11:26] [west-chai:my-project] [INFO] Sonar version: 2.13.1
    [14:11:29] [west-chai:my-project] [WARN] [14:11:29.403] Derby database should be used for evaluation purpose only
    [14:11:29] [west-chai:my-project] [INFO] [14:11:29.403] Create JDBC datasource
    [14:11:30] [west-chai:my-project] Failed to execute goal org.codehaus.mojo:sonar-maven-plugin:2.0:sonar (default-cli) on project my-project: Can not execute Sonar
    [14:11:30] [INFO] ------------------------------------------------------------------------
    [14:11:30] [INFO] Reactor Summary:
    [14:11:30] [INFO] 
    [14:11:24] [west-chai:my-project] [INFO] --- sonar-maven-plugin:2.0:sonar (default-cli) @ my-project ---
    [14:11:26] [west-chai:my-project] [INFO] Sonar version: 2.13.1
    [14:11:29] [west-chai:my-project] [WARN] [14:11:29.403] Derby database should be used for evaluation purpose only
    [14:11:29] [west-chai:my-project] [INFO] [14:11:29.403] Create JDBC datasource
    [14:11:30] [west-chai:my-project] Failed to execute goal org.codehaus.mojo:sonar-maven-plugin:2.0:sonar (default-cli) on project my-project: Can not execute Sonar
    [14:11:30] [INFO] ------------------------------------------------------------------------
    [14:11:30] [INFO] Reactor Summary:
    [14:11:30] [INFO] 
    [14:11:30] [INFO] PROJECT COMPONENT 1 ................... FAILURE [34.679s]
    [14:11:30] [INFO] PROJECT COMPONENT 2 ................... SKIPPED
    ...
    [14:11:30] [INFO] PROJECT COMPONENT N ................... SKIPPED
    [14:11:30] [INFO] ------------------------------------------------------------------------
    [14:11:30] [INFO] BUILD FAILURE
    [14:11:30] [INFO] ------------------------------------------------------------------------
    [14:11:30] [INFO] Total time: 41.809s
    [14:11:30] [INFO] Finished at: Tue Feb 07 14:11:30 CST 2012
    [14:11:31] [INFO] Final Memory: 31M/92M
    [14:11:31] [INFO] ------------------------------------------------------------------------
    [14:11:31] [ERROR] Failed to execute goal org.codehaus.mojo:sonar-maven-plugin:2.0:sonar (default-cli) on project my-project: Can not execute Sonar: PicoLifecycleException: method 'public final org.sonar.core.persistence.DefaultDatabase org.sonar.core.persistence.DefaultDatabase.start()', instance 'org.sonar.batch.bootstrap.BatchDatabase@1d4d6a, java.lang.RuntimeException: wrapper: Fail to connect to database: Cannot create PoolableConnectionFactory (java.net.ConnectException : Error connecting to server localhost on port 1527 with message Connection refused: connect.) -> [Help 1]
    [14:11:31] [ERROR] 
    [14:11:31] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
    [14:11:31] [ERROR] Re-run Maven using the -X switch to enable full debug logging.
    [14:11:31] [ERROR] 
    [14:11:31] [ERROR] For more information about the errors and possible solutions, please read the following articles:
    [14:11:31] [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
    [14:11:31] Process exited with code 1
    [14:11:31] [Publishing artifacts] Paths to publish: [E:\apps\TeamCity\server\buildAgent\temp\buildTmp\.tc-maven-bi\maven-build-info.1.xml.gz => .teamcity]
    [14:11:31] [Publishing artifacts] Sending files
    [14:11:31] Step Sonar (Maven) failed
    [14:11:31] Waiting for 38 service processes to complete
    [14:11:31] Sending build.finish.properties.gz file
    [14:11:31] Paths to publish: [MyProject\Mainline\MyApp\target\chai.war, MyProject\Mainline\MyComponent\MyComponent-service\target\MyComponent.war]
    [14:11:31] Sending files
    [14:11:35] Build finished
    [14:11:30] [INFO] ------------------------------------------------------------------------
    [14:11:30] [INFO] BUILD FAILURE
    [14:11:30] [INFO] ------------------------------------------------------------------------
    [14:11:30] [INFO] Total time: 41.809s
    [14:11:30] [INFO] Finished at: Tue Feb 07 14:11:30 CST 2012
    [14:11:31] [INFO] Final Memory: 31M/92M
    [14:11:31] [INFO] ------------------------------------------------------------------------
    [14:11:31] [ERROR] Failed to execute goal org.codehaus.mojo:sonar-maven-plugin:2.0:sonar (default-cli) on project my-project: Can not execute Sonar: PicoLifecycleException: method 'public final org.sonar.core.persistence.DefaultDatabase org.sonar.core.persistence.DefaultDatabase.start()', instance 'org.sonar.batch.bootstrap.BatchDatabase@1d4d6a, java.lang.RuntimeException: wrapper: Fail to connect to database: Cannot create PoolableConnectionFactory (java.net.ConnectException : Error connecting to server localhost on port 1527 with message Connection refused: connect.) -> [Help 1]
    [14:11:31] [ERROR] 
    [14:11:31] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
    [14:11:31] [ERROR] Re-run Maven using the -X switch to enable full debug logging.
    [14:11:31] [ERROR] 
    [14:11:31] [ERROR] For more information about the errors and possible solutions, please read the following articles:
    [14:11:31] [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
    [14:11:31] Process exited with code 1
    [14:11:31] [Publishing artifacts] Paths to publish: [E:\apps\TeamCity\server\buildAgent\temp\buildTmp\.tc-maven-bi\maven-build-info.1.xml.gz => .teamcity]
    [14:11:31] [Publishing artifacts] Sending files
    [14:11:31] Step Sonar (Maven) failed
    [14:11:31] Waiting for 38 service processes to complete
    [14:11:31] Sending build.finish.properties.gz file
    [14:11:31] Paths to publish: [MyProject\Mainline\MyApp\target\chai.war, MyProject\Mainline\MyComponent\MyComponent-service\target\MyComponent.war]
    [14:11:31] Sending files
    [14:11:35] Build finished
    

В следующей строке ошибки упоминается порт 1527, на который ссылаются закомментированные строки конфигурации Derby.

    [14:11:31] [ERROR] Failed to execute goal org.codehaus.mojo:sonar-maven-plugin:2.0:sonar (default-cli) on project my-project: Can not execute Sonar: PicoLifecycleException: method 'public final org.sonar.core.persistence.DefaultDatabase org.sonar.core.persistence.DefaultDatabase.start()', instance 'org.sonar.batch.bootstrap.BatchDatabase@1d4d6a, java.lang.RuntimeException: wrapper: Fail to connect to database: Cannot create PoolableConnectionFactory (java.net.ConnectException : Error connecting to server localhost on port 1527 with message Connection refused: connect.) -> [Help 1]

Если я закомментирую строки sonar.jdbc выше и восстановлю следующеелинии, то обе наши "mvn clean install "и" mvn sonar:sonar "завершены успешно.

sonar.jdbc.url:                            jdbc:derby://localhost:152/sonar;create=true
sonar.jdbc.driverClassName:                org.apache.derby.jdbc.ClientDriver
sonar.jdbc.validationQuery:                values(1)

Есть ли другая конфигурация для цели Maven, чем та, которая используется непосредственно сервером Sonar?Есть ли явный способ определить, к какому источнику данных JDBC подключается?

Ответы [ 2 ]

7 голосов
/ 08 февраля 2012

Сервер Sonar и ваш клиент Maven настраиваются отдельно.

Если не настроено иначе, Maven автоматически предположит, что Sonar работает локально с базой данных Derby, объясняя ваши ошибки.

Документация сонара объясняет, как Maven можно настроить для поддержки MySQL.

1 голос
/ 12 апреля 2012

Я столкнулся с подобной проблемой вчера (11 апреля 2012 г.) 1) вход:

  • teamcity 7
  • maven 3.0.4
  • sonar 2.13
  • postgresql 9
  • global maven settings.xml содержит профиль сонара с правильными настройками БД
  • jdk 1.6.30
  • сборка проекта из командной строки прошла нормально

2) результат:

  • teamcity - Невозможно выполнить сонар
  • журнал содержит исключение

    Fail to connect to database: Cannot create PoolableConnectionFactory (java.net.ConnectException : Ошибка соединения с сервером localhost на порту 1527
    

3) возможная причина:

  • TeamCity использует неправильные settings.xml

4) решение:

  • Перейти к администрированию
  • Перейти в левое меню Интеграции-> Настройки Maven
  • загрузить свою версию settings.xml (в моем случае с правильными настройками для сонара)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...