事件背景:
我将Jenkins从2.220更新到了2.440版本,然后惊奇的发现部分agent居然无法建立连接了?
仔细观察后发现,Windows的agent并没有出现问题,主要出现的Linux的agent中。
原来是Linux的agent是挺久以前创建的,内部的java版本太低了。
处理办法
话不多说,先上图,这是ssh连接的报错图。
首先,先用本机使用ssh连接到agent,并检查java版本。
我去jenkins的官网看了下几个版本需要的最低java版本
果然,是因为现在的版本不支持java8了。那就需要将agent的java版本切换到java11
使用工具看下当前系统中所有安装的java版本
看起来是只有java8,不用担心,使用包管理器安装一个就好。
先搜一下所有的java11的包
dnf search java-11*
我们去安装那个headless的
dnf install java-11-openjdk-headless.x86_64
确认继续安装,耐心等待
这里就安装完成了,咱们验证下
结果还是java8,这里是没问题的,我们只是需要用java11来连接agent,构建环境仍旧需要用java8。
先查找下java11的位置
alternatives --list |grep java
复制这个地址到jenkins的配置中
注意要在这个后面跟上/bin/java
才是对的,这样保存,然后重新加载agent就没问题了。
等待几秒
看到这就说明连接成功。