Jenkins使用Docker无法访问SonarQube服务器
我在Jenkins版本中添加了一个SonarQube扫描仪分析步骤,但该步骤失败:
[Test_gitlab] $ /var/jenkins_home/tools/hudson.plugins.sonar.SonarRunnerInstallation/http_INTERNAL_DOCKER_IP_ADDRESS_9000/bin/sonar-scanner -e -Dsonar.host.url=SERVER_IP_ADDRESS:9000 ******** -Dsonar.projectBaseDir=/var/jenkins_home/workspace/Test_gitlab INFO: Option -e/--errors is no longer supported and will be ignored INFO: Scanner configuration file: /var/jenkins_home/tools/hudson.plugins.sonar.SonarRunnerInstallation/http_INTERNAL_DOCKER_IP_ADDRESS_9000/conf/sonar-scanner.properties INFO: Project root configuration file: NONE INFO: SonarQube Scanner 2.8 INFO: Java 1.8.0_102 Oracle Corporation (64-bit) INFO: Linux 3.10.0-327.10.1.el7.x86_64 amd64 INFO: User cache: /var/jenkins_home/.sonar/cache ERROR: SonarQube server [SERVER_IP_ADDRESS:9000] can not be reached INFO: ------------------------------------------------------------------------ INFO: EXECUTION FAILURE INFO: ------------------------------------------------------------------------ INFO: Total time: 0.214s INFO: Final Memory: 4M/209M INFO: ------------------------------------------------------------------------ ERROR: Error during SonarQube Scanner execution org.sonarsource.scanner.api.internal.ScannerException: Unable to execute SonarQube at org.sonarsource.scanner.api.internal.IsolatedLauncherFactory$1.run(IsolatedLauncherFactory.java:84) at org.sonarsource.scanner.api.internal.IsolatedLauncherFactory$1.run(IsolatedLauncherFactory.java:71) at java.security.AccessController.doPrivileged(Native Method) at org.sonarsource.scanner.api.internal.IsolatedLauncherFactory.createLauncher(IsolatedLauncherFactory.java:71) at org.sonarsource.scanner.api.internal.IsolatedLauncherFactory.createLauncher(IsolatedLauncherFactory.java:67) at org.sonarsource.scanner.api.EmbeddedScanner.doStart(EmbeddedScanner.java:218) at org.sonarsource.scanner.api.EmbeddedScanner.start(EmbeddedScanner.java:156) at org.sonarsource.scanner.cli.Main.execute(Main.java:72) at org.sonarsource.scanner.cli.Main.main(Main.java:61) Caused by: java.lang.IllegalStateException: Fail to download libraries from server at org.sonarsource.scanner.api.internal.Jars.downloadFiles(Jars.java:93) at org.sonarsource.scanner.api.internal.Jars.download(Jars.java:70) at org.sonarsource.scanner.api.internal.JarDownloader.download(JarDownloader.java:39) at org.sonarsource.scanner.api.internal.IsolatedLauncherFactory$1.run(IsolatedLauncherFactory.java:75) ... 8 more Caused by: java.lang.IllegalArgumentException: unexpected url: SERVER_IP_ADDRESS:9000/batch_bootstrap/index at org.sonarsource.scanner.api.internal.shaded.okhttp.Request$Builder.url(Request.java:141) at org.sonarsource.scanner.api.internal.ServerConnection.callUrl(ServerConnection.java:109) at org.sonarsource.scanner.api.internal.ServerConnection.downloadString(ServerConnection.java:98) at org.sonarsource.scanner.api.internal.Jars.downloadFiles(Jars.java:78) ... 11 more ERROR: ERROR: Re-run SonarQube Scanner using the -X switch to enable full debug logging. ERROR: SonarQube scanner exited with non-zero code: 1 Finished: FAILURE
我的SonarQube扫描仪在Jenkins全局工具configuration中声明。 使用的名称是“ http:// SERVER_IP_ADDRESS:9000 ”。 这与我在SonarQube常规设置中设置的服务器基址相同。
我使用的是Docker:Jenkins在Docker容器中,SonarQube也是如此。
在SERVER_IP_ADDRESS:9000/batch_bootstrap/index
提到的“意外URL”可以在浏览器中打开,该浏览器显示sonar-scanner-engine-shaded-6.1.jar|SOME_LETTERS_AND_NUMBERS
。 那Jenkins为什么不能到达服务器?
我也试过用Docker的内部IP地址,可以发现:
docker inspect SONARQUBE_CONTAINER_ID | grep IP
在sonar.host.url
(SonarQube扫描仪的参数sonar.host.url
)中提到的地方find你定义的“意外URL”,并用http://
前缀。
url必须以计划开始 – 请参阅维基百科 。 浏览器只是默认添加http://
。
- Hygieiacollections家不工作
- 无法将图像推送到Openshift(未经授权:需要validation)
- 如何检查您的docker集装箱未使用的图像?
- Openshift imagestream“导入失败(未经授权)”私人外部安全registry
- 在Jenkins中构buildDocker镜像(在Docker镜像中) – Cloud docker代理
- 使用Dockerfile创buildOpenShift应用程序的问题(使用oc new-app)
- 在Openshift Origin中运行Docker镜像
- openshift wso2apipipe理器redirect错误
- Docker容器中的arangodb数据备份策略