4

我正在尝试了解声纳运行器http://docs.sonarqube.org/display/SONAR/Installing+and+Configuring+SonarQube+Runner。我有一个中央声纳服务器,在同一主机上有一个数据库。正如预期的那样,我在许多盒子中从我的客户那里运行 sonar-runner,并希望他们将数据上传到声纳立方体。

我的 sonar-project.properties 如下所示

# Required metadata
sonar.projectKey=a:b
sonar.projectName=b-1.0
sonar.projectVersion=1.0

# Comma-separated paths to directories with sources (required)
sonar.sources=lib

# Language
sonar.language=py

# Encoding of the source files
sonar.sourceEncoding=UTF-8
# Host of the sonar url
sonar.host.url=http://myserver:9000/msde/sonar/webapp

我期望我的客户会使用一些用于上传的 Web 服务执行一些分析并将数据直接上传到服务器。但是,我在日志中看到以下内容

10:42:00.678 INFO  - Apply project exclusions
10:42:00.682 WARN  - H2 database should be used for evaluation purpose only
10:42:00.682 INFO  - Create JDBC datasource for jdbc:h2:tcp://localhost/sonar
10:42:00.755 INFO  - Initializing Hibernate

问题

  1. 我应该在 sonar-project.properties 中配置数据库的详细信息吗?我期待它使用声纳 url 中的一些 web 服务来上传指标,但是暴露数据库细节有几个问题。我希望数据库位于服务器内部,并且不被各种客户端访问。
  2. 这也意味着我应该将数据库详细信息放在多个项目的各种属性文件中,因此更改中央数据库详细信息的成本是巨大的。
4

2 回答 2

3

您需要编辑 $SONARQUBE_RUNNER_HOME/conf/sonar-runner.properties 文件以指向正确的数据库实例。这是您需要为所有项目执行此操作的唯一文件。

于 2013-06-14T11:34:03.897 回答
1

如果您使用的是 MySQL,则HOME_SONAR_RUNNER\conf\sonnar-runner.properties必须在文件中取消注释与 MySQL 相关的行,将行保留为:

sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8

在同一个文件中,别忘了下一个评论:

#sonar.host.url=http://localhost:9000

保存文件并再次运行。

于 2013-06-28T11:20:33.783 回答