【发布时间】:2018-03-21 15:12:52
【问题描述】:
在我们的 CI 环境中,我们目前有一个构建服务器(基于 Atlassian Bamboo)和两个 SonarQube 实例(版本 6.0 和 6.5)。最初,我们的 CI 服务器配置为与 6.0 SonarQube 实例进行通信。这已在我们的 CI 服务器上的 /home/bamboo/.gradle/gradle.properties 文件中进行配置,如下所示:
systemProp.sonar.host.url=<http url of SonarQube 6.0 instance>
systemProp.sonar.login=<username here>
systemProp.sonar.password=<password here>
现在我们的 CI 服务器上运行了另一个基于 Gradle 的项目,它将与新的 SonarQube 6.5 实例通信。我尝试过配置,但一直失败。
到目前为止我做过的事情:
为 gradle wrapper 命令添加了命令行参数:
我尝试将-Dsonar.host.url=、-Dsonar.login=、-Dsonar.password= 添加到 Gradle 命令中。由于这似乎不起作用,我还尝试使用-DsystemProp.sonar.host.url=、-DsystemProp.sonar.login=、-DsystemProp.sonar.password= 将命令行参数设置为 SonarQube 系统属性。这也不起作用。
向 build.gradle 文件添加属性
- 向build.gradle 文件添加属性,如下所示:
sonarqube {
properties {
property "sonar.host.url", "<http url of SonarQube 6.0 instance>"
property "sonar.login", "<username here>"
property "sonar.password", "<password here>"
...<other SonarQube analysis settings here>...
}
}
在所有情况下,CI 服务器都与错误的 SonarQube 实例 (6.0) 通信。我的问题是,是否可以配置一个项目来与另一个 SonarQube 实例通信。如您所见,我们使用 Gradle 3.2.1 作为构建工具。我们也在使用 org.sonarqube Gradle 插件。
感谢您的帮助。
安德烈
【问题讨论】:
标签: gradle continuous-integration sonarqube build.gradle bamboo