Linux下Tomcat10部署Jenkins2.346.2安装Git插件启动失败问题
故障原因
直接通过Jenkins插件管理器安装git-server、git-client插件时,默认拉取的是最新发行版,这类新版本的最低兼容Jenkins核心版本已经高于2.346.2,插件初始化阶段无法调用高版本核心才提供的方法、读取对应配置字段,就会触发GitSCM.onLoaded位置的空指针异常,最终导致Jenkins重载失败。删除不兼容版本插件后故障恢复的表现,也完全符合版本不兼容的故障特征。
可落地的安装方案
- 先停止运行Tomcat服务,找到当前Jenkins实例的插件目录(默认路径为
JENKINS_HOME/plugins,如果是把Jenkins作为Tomcat应用部署、未单独配置JENKINS_HOME,路径一般是Tomcat目录下webapps/jenkins/WEB-INF/plugins),删除目录内残留的git-client.jpi、git-server.jpi文件,以及对应名称的.jpi.unpacked后缀的解压目录,避免残留文件引发版本冲突。 - 手动下载适配Jenkins 2.346.2版本的git插件套件,禁止使用最新版:
- git-client插件选择3.11.0版本,该版本是最后一个兼容2.346.x核心线的git-client正式发行版
- git-server插件选择99.va_0826a_b_c6f6e版本,和上述git-client版本的依赖要求完全匹配
- 提前补齐所有依赖插件:对应选择4.11.4版本的git主插件,以及匹配核心版本的credentials、ssh-credentials、workflow-scm-step插件,所有依赖插件都不要选超过2.346.2核心兼容要求的版本
- 将下载完成的所有
.jpi安装包上传到Jenkins插件目录,将文件的属主、属组调整为Tomcat运行用户,保证服务有对应文件的读写权限,避免出现权限不足导致的插件加载失败。 - 启动Tomcat服务,等待Jenkins完全初始化完成后再进入管理页面,不要在启动过程中触发热重载操作。服务启动完成后进入插件管理的已安装列表,确认git相关插件均处于启用状态,无版本不兼容的告警提示即可正常使用。
后续维护注意事项
- 关闭插件自动更新功能,或者将git、git-client、git-server三个插件加入自动更新排除列表,避免后续服务自动拉取不兼容的新版本,重启时复现同类故障。
- 如果日常使用场景仅需要通过Jenkins拉取Git仓库代码执行构建,不需要在Jenkins内置托管Git仓库服务,可以不安装git-server插件,仅安装git主插件和git-client插件即可满足常规需求,能大幅降低依赖冲突的概率。
内容的提问来源于stack exchange,提问作者Desmond Figaredo
相关产品推荐
相关产品推荐

