我正在尝试为Gradle项目设置SonarQube。我让它在本地播放,但在使用Travis CI I时遇到问题。 Travis无法通过HAProxy访问SonarQube服务器。
SonarQube服务器位于具有基本访问身份验证的HAProxy之后。我曾尝试将名称和密码用作sonar.login / sonar.password和URL中的auth凭证,但没有成功。
sonarqubeSonarQube server [https://sonar.<domain>.com] can not be reached
或
sonarqubeSonarQube server [https://<name>:<password>@sonar.<domain>.com] can not be reached
基本上我的build.gradle文件包含:
plugins {
id "org.sonarqube" version "2.0.1"
}
sonarqube {
properties {
properties["sonar.host.url"] = getProperty('SONAR_URL')
properties["sonar.login"] = getProperty('SONAR_USERNAME')
properties["sonar.password"] = getProperty('SONAR_PASSWORD')
}
}
我不得不删除&#39; systemProp。&#39;属性的前缀,以使其在本地工作。
在本地运行时,我有一个包含此部分的init.gradle文件,它运行良好。
allprojects {
ext.set('SONAR_URL', 'http://localhost:9000')
ext.set('SONAR_USERNAME', 'admin')
ext.set('SONAR_PASSWORD', 'admin')
...
}
在Travis CI上,我尝试为作业添加环境变量:
ORG_GRADLE_PROJECT_SONAR_PASSWORD ••••••••••••••••
ORG_GRADLE_PROJECT_SONAR_USERNAME ••••••••••••••••
ORG_GRADLE_PROJECT_SONAR_URL ••••••••••••••••
如何让Travis CI到达我们的声纳服务器?