【Jenkins】解决因插件硬编码IP导致Jenkins页面加载缓慢(10秒以上)的问题

问题复现

3月份在参加校企合作的云原生实习中,虚拟机一开始使用Jenkins还特别流畅,但是某天突然Jenkins页面加载很慢,之前1秒内能加载完成的页面,没修好bug往往需要10秒以上才能加载出来。但也不是完全不能加载的那种卡,各种功能都能正常使用,就是加载时间特别长。
后来经老师提醒,使用浏览器的F12进行元素检查,发现有一个叫theme.css的元素加载时常需要消耗10秒以上,而且每跳转一个页面都需要加载一次这个元素。
Jenkins页面加载时长过长

问题原因

点击该元素后,检查标头可以发现这个元素的请求网址和我目前本地虚拟机的IP不同,theme.css请求的是http://192.168.11.131:8080/theme-dark/theme.css,而我的Jenkins目前部署在虚拟机的IP端口是http://192.168.11.137:8080/
不同的IP
一开始我还不知道为啥这个元素会请求跟我的虚拟机IP不同的网址,我想着既然是这个元素加载时间长,那么把这个元素禁用掉不就行了嘛,但是即使我禁用这个元素,一开始可能快了那么一丢丢吧(后来看确实只是心理作用hh),但是打开页面仍然很慢。
后来我发现浏览器的元素审查底下有个检查表单URLs的提示,点击一看才发现这个theme.css的元素把192.168.11.131这个IP硬编码到代码里了。
硬编码
也就是说,每打开一个新的页面,Jenkins都会通过这段代码来请求theme.css这个元素,但是由于IP地址错误,一直无法获取元素。这也解释了为什么之前禁用元素无法解决问题。
但是为什么Jenkins硬编码的IP偏偏是192.168.11.131呢?
我估计这是虚拟机第一次安装Jenkins以及相关插件的IP,后来由于我的虚拟机设置了动态IP,每隔一段时间都会变一次IP,所以配置好Jenkins之后的一段时间里加载页面很流畅,但是虚拟机的IP改变后Jenkins页面加载就变特别慢了。

问题解决方案

根据theme.css的名称,我猜测这个元素和Jenkins主题有关,在插件目录里我多次尝试关闭插件并重启后,终于将问题插件定位到了Jenkins的黑暗模式的插件。
修复该问题的方法就是在Manage Jenkins->Plugins->Installed Plugins->找到Dark Theme插件取消勾选,然后重启Jenkins。然后打开任何Jenkins页面都不会加载theme.css的元素啦!这样就能秒加载页面啦!
DarkTheme取消选择

后记

其实这个问题在当时实训期间我就已经解决了,当时在网上搜索了好半天,在StackOverflow和CSDN等平台都没有找到真正的解决问题的方案,我多次询问Ai也无果。后来不经意间感觉跟主题插件有关,在已安装的插件里禁用掉黑暗模式的插件重启后真的变快了,那种如释重负的感觉真的很爽。
本来想当时就写个博客记录一下的,但是自己真是太懒了,一直没写。时隔两个月今天终于把这个放在心底的心结给完结了,也不知道黑暗模式插件更新了没有,有没有修复这个bug。就在我写这篇博客的时候,我的虚拟机又变化了一次IP。
希望这篇博客能给之后遇到和我一样问题的同学一点帮助。

  • 15
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值