首页/文章/jenkins

解决因插件硬编码IP导致Jenkins页面加载缓慢

2024-10-31
938 字约 4 分钟
...

问题复现

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

问题原因

点击该元素后,检查标头可以发现这个元素的请求网址和我目前本地虚拟机的IP不同,theme.css请求的是http://192.168.11.131:8080/theme-dark/theme.css,而我的Jenkins目前部署在虚拟机的IP端口是http://192.168.11.137:8080/。

一开始我还不知道为啥这个元素会请求跟我的虚拟机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的元素啦!这样就能秒加载页面啦!

 

 

修改JenkinsLocationConfiguration.xml中的ip

如果您觉得这篇文章有帮助,请点个赞吧~

分享文章

相关文章

更多文章 →
http-网络2026-10-15
OAuth 2.0是什么,以及如何正确接入
一、先从一个需求理解 OAuth 2.0 假设你开发了一个相册整理工具,用户希望它读取某个云盘里的照片。 把云盘密码交给工具,会带来几个问题:工具拿到的权限太大,密码可能泄漏,用户也难以只撤销这个工具的访问。 OAuth 2.0 提供一套 委托授权机制 :用户在云盘自己的页面确认授权,工具取得一个有权限范围和有效期的访问令牌,再用它调用云盘 API。用户的云盘密码不交给工具。 可以把它理解为:给工具一张“限定用途的通行证”。但令牌泄漏同...
学习
前端2026-10-15
前端动画全景指南
一、前端动画到底是什么 前端动画,就是让画面随时间、用户输入或页面状态连续变化。变化的对象可以是按钮的位置、弹窗的透明度、SVG 的线条、Canvas 里的粒子,也可以是三维场景中的镜头。 先把三个问题分开: | 问题 | 常见答案 | | | | | 画什么? | DOM/CSS、SVG、Canvas 2D、GPU 渲染的场景、预制动画素材 | | 怎样变化? | CSS 过渡/关键帧、Web Animations API、逐帧计算、...
学习
flutter2026-10-14
Flutter Android 正式签名实战:生成密钥、配置构建与验证 APK
Flutter Android 正式签名实战:生成密钥、配置构建与验证 APK Android 正式签名不需要购买证书。开发者可以自己生成密钥,用它给 APK 签名;密钥的用途是建立稳定的应用身份。签名有效并不等于应用已经通过商店审核,也不等于应用功能已完成真机验收。 本文面向 Flutter Android 项目,介绍从开发签名切换到独立正式签名的完整流程。应用名称、目录、包名和证书信息均使用通用示例,不包含真实项目密码、私钥、签名指...
学习
flutter2026-10-14
Flutter 新版本发布实战:完整安装包与 Shorebird 热更新
一、先判断该发完整包还是补丁 | 这次改动 | 发布方式 | | | | | Dart 文案、Flutter 页面布局、业务逻辑修复 | 通常可以发布补丁 | | 纯 Dart 依赖变化 | 可以尝试补丁构建,仍需验证兼容性 | | Kotlin、Java、Swift、Objective C 或原生构建配置变化 | 发布完整包 | | 插件的原生实现变化、新增原生插件、权限变化 | 发布完整包 | | 新增或修改打包图片、字体、应用图标...
学习
react2026-09-15
React 19.3 新特性总结
React 19.3 已发布到 npm,核心是把去年以实验 API 形式公布的 View Transitions 和 Fragment Refs 正式转正,同时新增了几个 DOM 与 RSC 相关的 API。下面按特性整理。 一、View Transitions(视图过渡动画,正式发布) 是什么 是基于浏览器原生 封装的组件。把你想要加动画的元素包起来,当元素 进入、退出、移动或尺寸变化 时,React 自动播放过渡动画。 基本用法 只...
学习
AI2026-09-01
Deep Agents 01:何为 Agent Harness,以及如何开始
1、本篇任务:完成一份多步骤、带证据的技术调研 普通客服 Agent 的问题短、工具少、输出即时。技术调研或编码任务会持续很久,产生计划、搜索结果、文件和中间结论。Deep Agents 在 LangChain/LangGraph 之上预装规划、虚拟文件系统、上下文压缩和子 Agent,适合这类开放任务。 本课让 Agent 比较两种向量数据库,并交付一份可验证报告。 2、什么时候需要 Deep Agent 满足以下两项以上再考虑:任务...
学习

评论

请登录后发表评论

去登录
加载评论中...

目录