声纳运行程序异常引起:未知数据库状态:FRESH_INSTALL

时间:2014-01-22 10:48:43

标签: sonar-runner sonarqube postgresql-9.3

我在不同服务器上运行Sonarqube4.0和PostgreSQL9.3数据库以及sonarqube-runner2.3。

Sonarqube和Postgresql数据库之间的连接很好,因为我可以访问控制台http:// [sonar-host]:9000,登录更改密码并执行所有活动。我还可以在数据库中看到在我的模式下创建的表

我遇到的问题是声纳 - 跑步者。当我从源目录运行sonar-runner时,我得到以下例外:

09:52:21.736 DEBUG - To prevent a memory leak, the JDBC Driver [org.postgresql.Driver] has been forcibly deregistered
INFO: ------------------------------------------------------------------------
INFO: EXECUTION FAILURE
INFO: ------------------------------------------------------------------------
Total time: 2.791s
Final Memory: 5M/220M
INFO: ------------------------------------------------------------------------
ERROR: Error during Sonar runner execution
org.sonar.runner.impl.RunnerException: Unable to execute Sonar
        at org.sonar.runner.impl.BatchLauncher$1.delegateExecution(BatchLauncher.java:91)
        at org.sonar.runner.impl.BatchLauncher$1.run(BatchLauncher.java:75)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.sonar.runner.impl.BatchLauncher.doExecute(BatchLauncher.java:69)
        at org.sonar.runner.impl.BatchLauncher.execute(BatchLauncher.java:50)
        at org.sonar.runner.api.EmbeddedRunner.doExecute(EmbeddedRunner.java:102)
        at org.sonar.runner.api.Runner.execute(Runner.java:90)
        at org.sonar.runner.Main.executeTask(Main.java:70)
        at org.sonar.runner.Main.execute(Main.java:59)
        at org.sonar.runner.Main.main(Main.java:41)
Caused by: Unknown database status: FRESH_INSTALL

我知道有关堆栈溢出的类似帖子,但是,所有属性文件都有正确的URL用户名和密码

sonar-project.properties:

sonar.host.url=http://[sonar-host]:9000
sonar.jdbc.url=jdbc:postgresql://[dbhost]:5432/sonarqube-sit
sonar.jdbc.username=sonarqube-sit
sonar.jdbc.password=xEgIVeyr0kw1
sonar.jdbc.schema=sonarqubesit
sonar.jdbc.driverClassName=org.postgresql.Driver
sonar.login=admin
sonar.password=7nQ36mrnk0UCsX1

sonar.properties:

sonar.jdbc.username=sonarqube-sit
sonar.jdbc.password={aes}ftWqQkON7XUqwNmJyHqzJA==
sonar.jdbc.url=jdbc:postgresql://[dbhost]:5432/sonarqube-sit
sonar.jdbc.schema=sonarqubesit

pg_hba.conf为每个服务器和用户提供了条目

当我运行声纳 - 跑步者时,我在postgres日志中也会收到一些错误:

2014-01-22 09:52:21 GMT ERROR:  relation "schema_migrations" does not exist at character 15
2014-01-22 09:52:21 GMT STATEMENT:  select * from schema_migrations

首先,我可以在sonarqubesit架构下看到数据库中的schema_migartions表。其次,我不知道为什么它试图使用schema_migrations?因为我没有迁移到不同的架构?

任何人都可以帮我解决这个问题。我假设这与在声纳 - 跑步者属性中定义模式的方式有关,但我看不出任何明显的东西。

1 个答案:

答案 0 :(得分:0)

我通过删除数据库并重新创建它来解决了这个问题。但没有创建新架构。

还重新安装Sonarqube并使用默认的'public'模式,即在sonar.properties

下留下属性sonar.jdbc.schema注释(#)