今天发现在使用的jenkins存在代码执行漏洞,在受影响应用版本:Jenkins < 2.442,Jenkins LTS < 2.426.3范围内,需要升级的版本。
0x01 起因
按照漏洞修复方案,索性把Jenkins版本升级到了2.454,把新版本的war包传到服务器上,一启动发现jdk版本低了启动不了,把JDK换成11后启动成功。启动成功后接二连三的问题就来了。
0x02 处理过程
因为之前版本比较旧,升级后发现jenkins的大部分插件没法正常使用了。但是因为jenkins是内网,没有访问公网权限,只能手动一个个下载需要升级的插件,先手动备份一下插件目录,后上传到/data/.jenkins/plugins/目录下,并且删掉现有的jpi文件,重启Jenkins服务。
升级完所有的插件后,发现Rancher1.0.13插件的版本是6年前更新的了。
在构建完过程中,docker在push镜像到仓库后,后部署Rancher时,报错了,错误如下:
自己在搜索引擎找了老半天,也咨询了研发得出的结论是:
1、少jar
2、jar版本不对
根据这个思路,先去到 /data/.jenkins/plugins/rancher/WEB-INF/lib 目录下面看一下插件的lib。升级版本的话,有点风险,那么就用少jar的方式解决,看看是否可行。
1、打开Maven官网,区下载我们需要的jar。
https://mvnrepository.com/https://mvnrepository.com/2、根据提示的异常是缺少 httpclient ,查找后,发现一个跟异常类路径基本匹配的,那就下载这个吧。
3、把下载下来的jar放到对应的目录下面。
cd /data/.jenkins/plugins/rancher/WEB-INF/lib
rz -e
4、重启Jenkins服务,重新构建流水线,发现已经恢复正常,成功部署Rancher。
5、就此问题解决。
0x03 不重要的结束语
出发点是记录一下这个处理过程,主要是记录解决问题的思路,感觉是个小众问题,希望能帮到有需要的人。