Jenkins - 配置 JDK - 仅文本框,自动安装失败

Fel*_*lix 5 java android jenkins

我正在尝试为我们的 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
Run Code Online (Sandbox Code Playgroud)

在Manage Jenkins屏幕上,我没有看到 JDK(和其他自动安装程序:ANT、Maven、Gradle 等)的选择框

JDK 定义部分

所以:

  1. 为什么我没有选择框?我应该放入哪些值才能起作用?如何解决?
  2. 我担心我自己手动安装JDK将在全球安装它,这样就造成了一个詹金斯的JDK版本冲突(见本有关CentOS安装)。这是我需要考虑的事情吗?

Mat*_*s B 0

我发现记录 JDK ID 的唯一来源是JDKInstaller.java的 jenkins 源代码:

Sun 分配给每个 JDK 的版本 ID,例如“jdk-6u13-oth-JPR@CDS-CDS_Developer”

该 ID 可以在下载页面的“ProductRef”查询参数中看到,例如 https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/查看ProductDetail-Start?ProductRef=jdk-6u13-oth-JPR@CDS-CDS_Developer

但似乎该页面不存在。我通过安装不同的 JDK 来运行 Jenkins 解决了这个问题。JDK 8u66 不起作用,但 JDK 8u60 却能正常工作。安装旧版 JDK 后,我必须从插件站点更新可用更新。之后我得到了经典的下拉框,我可以从中选择 Java 版本。