Jenkins“无法安装JDK”退出代码= -1

时间:2019-01-16 16:17:15

标签: java jenkins

(在这里添加此内容是因为我在任何地方都找不到答案)

我将Jenkins配置为从“全局工具配置”>“ JDK安装”菜单中自动安装JDK。该选项可在所有14个节点(各种Windows和Linux)上运行,但只有一个。

具有20个执行程序的服务器Windows Server 2012 R2(amd64),运行已不到3年。

内部版本控制台中的日志文件引用(即... tools \ hudson.model.JDK \ install1873722508778839961log)为空。

版本控制台显示以下内容:

  

[EnvInject]-加载节点环境变量。正在安装   E:\ Jenkins_APA_8080 \ tools \ hudson.model.JDK \ Oracle_Java_8.0_191 \ jdk.exe   [Oracle_Java_8.0_191] $   E:\ Jenkins_APA_8080 \ tools \ hudson.model.JDK \ Oracle_Java_8.0_191 \ jdk.exe   / s ADDLOCAL =“ ToolsFeature” REBOOT = ReallySuppress   INSTALLDIR = E:\ Jenkins_APA_8080 \ tools \ hudson.model.JDK \ Oracle_Java_8.0_191   /升   E:\ Jenkins_APA_8080 \ tools \ hudson.model.JDK \ install1873722508778839961log   无法安装JDK。退出代码= -1错误:发生严重错误   org.jenkinsci.lib.envinject.EnvInjectException:hudson.AbortException     在   org.jenkinsci.plugins.envinject.util.RunHelper.getBuildVariables(RunHelper.java:137)     在   org.jenkinsci.plugins.envinject.EnvInjectListener.setUpEnvironmentWithoutJobPropertyObject(EnvInjectListener.java:235)     在   org.jenkinsci.plugins.envinject.EnvInjectListener.setUpEnvironment(EnvInjectListener.java:51)     在   hudson.model.AbstractBuild $ AbstractBuildExecution.createLauncher(AbstractBuild.java:542)     在   hudson.model.AbstractBuild $ AbstractBuildExecution.run(AbstractBuild.java:462)     在hudson.model.Run.execute(Run.java:1810)处   hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:543)在   hudson.model.ResourceController.execute(ResourceController.java:97)     在hudson.model.Executor.run(Executor.java:429)上,原因如下:   hudson.AbortException在   hudson.tools.JDKInstaller.install(JDKInstaller.java:292)位于   hudson.tools.JDKInstaller.performInstallation(JDKInstaller.java:157)     在   hudson.tools.InstallerTranslator.getToolHome(InstallerTranslator.java:72)     在   hudson.tools.ToolLocationNodeProperty.getToolHome(ToolLocationNodeProperty.java:109)     在   hudson.tools.ToolInstallation.translateFor(ToolInstallation.java:206)     在hudson.model.JDK.forNode(JDK.java:148)处   org.jenkinsci.plugins.envinject.util.RunHelper.getJDKVariables(RunHelper.java:111)     在   org.jenkinsci.plugins.envinject.util.RunHelper.getBuildVariables(RunHelper.java:135)     ...另外8个

1 个答案:

答案 0 :(得分:0)

我以本地管理员身份登录服务器,并尝试运行构建控制台中显示的JDK安装行:

  

E:\ Jenkins_APA_8080 \ tools \ hudson.model.JDK \ Oracle_Java_8.0_191 \ jdk.exe   / s ADDLOCAL =“ ToolsFeature” REBOOT = ReallySuppress   INSTALLDIR = E:\ Jenkins_APA_8080 \ tools \ hudson.model.JDK \ Oracle_Java_8.0_191   / L E:\ Jenkins_APA_8080 \ tools \ hudson.model.JDK

安装似乎正在运行,这次日志文件包含文本。我仔细检查了Jenkins文件夹的所有者和权限,它们由本地管理员而非域管理员拥有(这对于我们的Jenkins安装是正常的)。

但是,此计算机上Jenkins服务的登录凭据已设置为域管理员(而非本地管理员)。

更改Jenkins服务登录凭据解决了该问题。即使该节点已经运行了好几年没有问题,其凭据也不正确。