我升级了Jenkins版本,然后失去了到我的从节点的SSH连接。
密钥验证后立即启动从属服务器,出现以下错误:

[02/28/14 14:20:02] [SSH] Checking java version of java
Couldn't figure out the Java version of java
bash: java: command not found

[02/28/14 14:20:02] [SSH] Checking java version of /usr/bin/java
Couldn't figure out the Java version of /usr/bin/java
bash: /usr/bin/java: No such file or directory

[02/28/14 14:20:02] [SSH] Checking java version of /usr/java/default/bin/java
Couldn't figure out the Java version of /usr/java/default/bin/java
bash: /usr/java/default/bin/java: No such file or directory

[02/28/14 14:20:02] [SSH] Checking java version of /usr/java/latest/bin/java
Couldn't figure out the Java version of /usr/java/latest/bin/java
bash: /usr/java/latest/bin/java: No such file or directory

[02/28/14 14:20:02] [SSH] Checking java version of /usr/local/bin/java
Couldn't figure out the Java version of /usr/local/bin/java
bash: /usr/local/bin/java: No such file or directory

[02/28/14 14:20:02] [SSH] Checking java version of /usr/local/java/bin/java
Couldn't figure out the Java version of /usr/local/java/bin/java
bash: /usr/local/java/bin/java: No such file or directory

[02/28/14 14:20:02] [SSH] Checking java version of         /users/mdspadm/tools/hudson_tmp/jdk/bin/java
Couldn't figure out the Java version of /users/mdspadm/tools/hudson_tmp/jdk/bin/java
bash: /users/mdspadm/tools/hudson_tmp/jdk/bin/java: No such file or directory

[02/28/14 14:20:03] [SSH] Checking java version of     /users/apache/tools/hudson/usr/lib/jvm/jre-1.5.0-ibm//bin/java
[02/28/14 14:20:03] [SSH] /users/apache/tools/hudson/usr/lib/jvm/jre-1.5.0-ibm//bin/java -version returned 1.5.0.
[02/28/14 14:20:03] [SSH] Starting sftp client.
[02/28/14 14:20:03] [SSH] Copying latest slave.jar...
[02/28/14 14:20:04] [SSH] Copied 346,845 bytes.
Expanded the channel window size to 4MB
[02/28/14 14:20:04] [SSH] Starting slave process: cd "/users/mdspadm/tools/hudson_tmp"   && /users/apache/tools/hudson/usr/lib/jvm/jre-1.5.0-ibm//bin/java  -jar slave.jar
<===[JENKINS REMOTING CAPACITY]===>channel started
java.io.IOException: Remote call on tunnel_mspvq330 failed
at hudson.remoting.Channel.call(Channel.java:731)
at hudson.slaves.SlaveComputer.setChannel(SlaveComputer.java:449)
at hudson.slaves.SlaveComputer.setChannel(SlaveComputer.java:345)
at hudson.plugins.sshslaves.SSHLauncher.startSlave(SSHLauncher.java:812)
at hudson.plugins.sshslaves.SSHLauncher.launch(SSHLauncher.java:598)
at hudson.slaves.SlaveComputer$1.call(SlaveComputer.java:228)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassFormatError: Failed to load

这是一个Java问题,但是在升级之前,我当前的配置还可以。
任何想法如何解决这个请。

更新:
从Jenkins 1.608+开始Jenkins移至Java7。由于jenkins ssh-slave插件仍尝试使用较低版本的Java进行连接,因此断开了通过SSH启动从属节点的连接。

参考:http://jenkins-ci.org/content/good-bye-java6

最佳答案

如果您已经从旧版本升级了Jenkins,我建议您更新Java,

另外还有其他问题,可能是Java bin路径的System / Envronment变量丢失或不正确?

Java在最新更新中还引入了新的安全性功能,因此请注意可能需要的任何其他身份验证。

我也找到了this。它很旧,但可能会有所帮助

编辑

以下来自@shahjapan的评论我已经更新了此答案,还包含指向他的页面HERE的链接

10-07 19:31
查看更多