解决【jenkins 异常】org.eclipse.jgit.errors.InvalidObjectIdException: Invalid id xxxxx

411 阅读1分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

问题描述

前段时间遇到一个jenkins 构建失败的问题,详细堆栈如下

FATAL: Invalid id: refs/remotes/origin/origin/test^{commit}
org.eclipse.jgit.errors.InvalidObjectIdException: Invalid id: refs/remotes/origin/origin/test^{commit}
 at org.eclipse.jgit.lib.ObjectId.fromHexString(ObjectId.java:246)
 at org.eclipse.jgit.lib.ObjectId.fromString(ObjectId.java:234)
 at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.revParse(CliGitAPIImpl.java:869)
 at hudson.plugins.git.GitAPI.revParse(GitAPI.java:316)
 at hudson.plugins.git.util.DefaultBuildChooser.getHeadRevision(DefaultBuildChooser.java:130)
 at hudson.plugins.git.util.DefaultBuildChooser.getCandidateRevisions(DefaultBuildChooser.java:112)
 at hudson.plugins.git.GitSCM.determineRevisionToBuild(GitSCM.java:1086)
 at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1193)
 at hudson.scm.SCM.checkout(SCM.java:504)
 at hudson.model.AbstractProject.checkout(AbstractProject.java:1208)
 at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:574)
 at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
 at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:499)
 at hudson.model.Run.execute(Run.java:1818)
 at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:543)
 at hudson.model.ResourceController.execute(ResourceController.java:97)
 at hudson.model.Executor

大致是说 git 拉取代码失败了,原因是某个objectId不对 但是这job配置的ssh连接没问题而且不止一个job,所有都是这个错误

问题分析

看到这个bug第一反应没见过立马找度娘,结果没有找到。然后又打算去看看jgit源码看看这个报错啥意思,但是很快放弃了因为没这耐心,当时都想重新部署一个jenkins了。 结果在jenkins 系统管理页面看到一大堆的错误 在这里插入图片描述 这错误在这页面挺久了,一直没有上心,但是遇到上面错误就打算看看会不会是这里问题,因为上面也说了所有的job中git 拉取都失败了,感觉可能是全局的git有问题 死马当活马医

解决方案

更新 git 相关所有插件

直接去jenkins 插件官网下载包, 在这里插入图片描述 然后在jenkins插件管理-高级页面上传 在这里插入图片描述 同理 git client插件也要更新

更新jenkins

新版本的包 jenkins 旧版本可能不兼容,所以更新下jenkins 去jenkins 官网下载最新的war包,然后上传到jenkins服务器的war包目录下,替换 最后重启jenkins 即可

写在最后

问题虽然解决但还是有个疑惑,为啥之前都OK,突然那天不能用了😳