【发布时间】:2015-11-17 15:07:25
【问题描述】:
我正在尝试为我们的 Android 应用程序创建一个基于 Jenkins 的构建服务器。 我正在使用带有最新 Jenkins (1.638) 的 CentOS 机器(虚拟机),但无法成功完成构建。
构建失败,因为它无法自动安装 JDK(在机器上,有 OpenJDK 24.91-b01 a-la 1.7.0_91)
java.io.IOException: JDK data is empty.
at hudson.tools.JDKInstaller.locate(JDKInstaller.java:418)
at hudson.tools.JDKInstaller.performInstallation(JDKInstaller.java:134)
at hudson.tools.InstallerTranslator.getToolHome(InstallerTranslator.java:68)
at hudson.tools.ToolLocationNodeProperty.getToolHome(ToolLocationNodeProperty.java:108)
at hudson.tools.ToolInstallation.translateFor(ToolInstallation.java:206)
at hudson.model.JDK.forNode(JDK.java:143)
at hudson.model.AbstractProject.getEnvironment(AbstractProject.java:358)
at hudson.model.Run.getEnvironment(Run.java:2232)
at hudson.model.AbstractBuild.getEnvironment(AbstractBuild.java:941)
at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1036)
at hudson.scm.SCM.checkout(SCM.java:485)
at hudson.model.AbstractProject.checkout(AbstractProject.java:1275)
at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:610)
at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:532)
at hudson.model.Run.execute(Run.java:1741)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:98)
at hudson.model.Executor.run(Executor.java:410)
Finished: FAILURE
在Manage Jenkins 屏幕上,我没有看到 JDK(以及其他自动安装程序:ANT、Maven、Gradle 等)的选择框
所以:
- 为什么我没有选择框?我应该输入什么值才能起作用?如何解决?
- 我担心自己手动安装 JDK 会在全局范围内安装它,从而导致 Jenkins 的 JDK 版本冲突(有关 CentOS 安装,请参阅 this)。我是否需要考虑这一点?
【问题讨论】:
-
@StackFlowed - 我想要一个自动安装.. 我不想登录到服务器进行 JDK 升级... 我不能有一个正确的自动安装吗?
-
附加图像来自管理控制台(“管理 Jenkins”)...
-
最后一个建议可能听起来很愚蠢,但您是否尝试过放一个版本?像 8u66 或下载该版本的链接?
-
是的,我得到了同样的错误。 (这并不愚蠢,这是我尝试的第一件事,并且我用不同的值尝试了多次。仍然是半身像)。
-
在 Jenkins JIRA 中跟踪这方面的任何想法?在这里不提供自动完成选项似乎很荒谬。