【Jenkins】解决因插件硬编码IP导致Jenkins页面加载缓慢(10秒以上)的问题 您所在的位置:网站首页 wow加载特别慢 【Jenkins】解决因插件硬编码IP导致Jenkins页面加载缓慢(10秒以上)的问题

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

2024-07-13 16:53| 来源: 网络整理| 查看: 265

问题复现

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。 希望这篇博客能给之后遇到和我一样问题的同学一点帮助。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有