错误:工作区有一个 .git 存储库,但它似乎已损坏

问题描述 投票:0回答:5

我无法通过 jenkins 从 Github 拉取代码。我确实尝试过切换 jenkins 中的 git 插件,但没有成功。不知道问题是什么..对此的一些指示会有所帮助.. 我是否缺少一些插件或使用错误版本的插件?

Started by user anonymous
Building in workspace /var/lib/jenkins/jobs/TestGitCon/workspace
Checkout:workspace / /var/lib/jenkins/jobs/TestGitCon/workspace - hudson.remoting.LocalChannel@37ff3f85
Using strategy: Default
ERROR: Workspace has a .git repository, but it appears to be corrupt.
hudson.plugins.git.GitException: Error performing command: usr/bin/git rev-parse --verify HEAD
	at hudson.plugins.git.GitAPI.launchCommandIn(GitAPI.java:904)
	at hudson.plugins.git.GitAPI.launchCommand(GitAPI.java:858)
	at hudson.plugins.git.GitAPI.launchCommand(GitAPI.java:868)
	at hudson.plugins.git.GitAPI.validateRevision(GitAPI.java:326)
	at hudson.plugins.git.GitAPI.hasGitRepo(GitAPI.java:125)
	at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:1005)
	at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:986)
	at hudson.FilePath.act(FilePath.java:981)
	at hudson.FilePath.act(FilePath.java:959)
	at hudson.plugins.git.GitSCM.determineRevisionToBuild(GitSCM.java:986)
	at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1142)
	at hudson.model.AbstractProject.checkout(AbstractProject.java:1265)
	at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:622)
	at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:528)
	at hudson.model.Run.execute(Run.java:1759)
	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
	at hudson.model.ResourceController.execute(ResourceController.java:89)
	at hudson.model.Executor.run(Executor.java:240)
Caused by: java.io.IOException: Cannot run program "usr/bin/git" (in directory "/var/lib/jenkins/jobs/TestGitCon/workspace"): error=2, No such file or directory
	at java.lang.ProcessBuilder.start(ProcessBuilder.java:1047)
	at hudson.Proc$LocalProc.<init>(Proc.java:244)
	at hudson.Proc$LocalProc.<init>(Proc.java:216)
	at hudson.Launcher$LocalLauncher.launch(Launcher.java:803)
	at hudson.Launcher$ProcStarter.start(Launcher.java:381)
	at hudson.Launcher$ProcStarter.join(Launcher.java:388)
	at hudson.plugins.git.GitAPI.launchCommandIn(GitAPI.java:885)
	... 18 more
Caused by: java.io.IOException: error=2, No such file or directory
	at java.lang.UNIXProcess.forkAndExec(Native Method)
	at java.lang.UNIXProcess.<init>(UNIXProcess.java:186)
	at java.lang.ProcessImpl.start(ProcessImpl.java:130)
	at java.lang.ProcessBuilder.start(ProcessBuilder.java:1028)
	... 24 more
Cloning the remote Git repository
Cloning repository [email protected]:RosettaCommons/main.git
Error trying to determine the git version: Error performing command: usr/bin/git --version
Assuming 1.6
Fetching upstream changes from [email protected]:RosettaCommons/main.git
ERROR: Problem fetching from origin / origin - could be unavailable. Continuing anyway.
hudson.plugins.git.GitException: Error performing command: usr/bin/git fetch -t [email protected]:RosettaCommons/main.git +refs/heads/*:refs/remotes/origin/*
	at hudson.plugins.git.GitAPI.launchCommandIn(GitAPI.java:904)
	at hudson.plugins.git.GitAPI.launchCommand(GitAPI.java:858)
	at hudson.plugins.git.GitAPI.fetch(GitAPI.java:200)
	at hudson.plugins.git.GitAPI.fetch(GitAPI.java:1105)
	at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:1064)
	at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:986)
	at hudson.FilePath.act(FilePath.java:981)
	at hudson.FilePath.act(FilePath.java:959)
	at hudson.plugins.git.GitSCM.determineRevisionToBuild(GitSCM.java:986)
	at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1142)
	at hudson.model.AbstractProject.checkout(AbstractProject.java:1265)
	at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:622)
	at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:528)
	at hudson.model.Run.execute(Run.java:1759)
	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
	at hudson.model.ResourceController.execute(ResourceController.java:89)
	at hudson.model.Executor.run(Executor.java:240)
Caused by: java.io.IOException: Cannot run program "usr/bin/git" (in directory "/var/lib/jenkins/jobs/TestGitCon/workspace"): error=2, No such file or directory
	at java.lang.ProcessBuilder.start(ProcessBuilder.java:1047)
	at hudson.Proc$LocalProc.<init>(Proc.java:244)
	at hudson.Proc$LocalProc.<init>(Proc.java:216)
	at hudson.Launcher$LocalLauncher.launch(Launcher.java:803)
	at hudson.Launcher$ProcStarter.start(Launcher.java:381)
	at hudson.Launcher$ProcStarter.join(Launcher.java:388)
	at hudson.plugins.git.GitAPI.launchCommandIn(GitAPI.java:885)
	... 17 more
Caused by: java.io.IOException: error=2, No such file or directory
	at java.lang.UNIXProcess.forkAndExec(Native Method)
	at java.lang.UNIXProcess.<init>(UNIXProcess.java:186)
	at java.lang.ProcessImpl.start(ProcessImpl.java:130)
	at java.lang.ProcessBuilder.start(ProcessBuilder.java:1028)
	... 23 more
ERROR: Could not fetch from any repository
FATAL: Could not fetch from any repository
hudson.plugins.git.GitException: Could not fetch from any repository
	at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:1076)
	at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:986)
	at hudson.FilePath.act(FilePath.java:981)
	at hudson.FilePath.act(FilePath.java:959)
	at hudson.plugins.git.GitSCM.determineRevisionToBuild(GitSCM.java:986)
	at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1142)
	at hudson.model.AbstractProject.checkout(AbstractProject.java:1265)
	at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:622)
	at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:528)
	at hudson.model.Run.execute(Run.java:1759)
	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
	at hudson.model.ResourceController.execute(ResourceController.java:89)
	at hudson.model.Executor.run(Executor.java:240)

git jenkins repository jenkins-plugins corrupt
5个回答
4
投票

我的 git 可执行文件路径是 var/lib/jenkins。我在var/lib/jenkins前面加了一个斜杠,即/var/lib/jenkins。我还安装了“Git pull request builder”插件。我将 git 插件版本降级到 1.1.26。现在我可以通过jenkins从github下载代码了。


3
投票

要解决此问题,请在 Jenkins 从站(或服务器)中找到

/jenkins/workspace/<job name>
目录。您应该删除工作区中的所有文件(如果这样做没有负面影响)或仅删除
.git
目录。

再次运行您的作业。


2
投票

我有同样的错误,但就我而言,原因不同。实际上,我在 shell 脚本文件中使用了curl 命令,然后我必须用它创建一个 Docker 映像。 因此,为了使 Docker 映像能够执行curl 命令,我必须安装Curl。我在 Docker 文件中编写了以下代码

RUN apt-get update && \
apt-get install -y curl && \

但是当我提交代码时,Jenkins 构建失败并显示相同的消息错误:工作区有一个 .git 存储库,但它似乎已损坏

解决方法是我必须在安装curl命令中添加

--no-install-recommends
。像这样

RUN apt-get update && \
apt-get install -y --no-install-recommends curl && \

原因是 Ubuntu 安装推荐的但不建议的软件包。因此,Ubuntu 试图添加一些不需要的但可能是推荐的软件包,但不知何故导致构建失败。


1
投票

开始检查您在 Jenkins 设置中为 git 工具设置的位置(Jenkins -> 管理 Jenkins -> 配置系统)。

例如参见这个答案

看起来 Jenkins 的 GIT 配置有问题,给出了 GIT 的完整路径,而不是仅“

git


0
投票

我也有同样的错误, 您应该在 Jenkins 实例 (EC2) 中安装 git

Ubuntu:

sudo apt install git -y

红帽:

sudo dnf install git -y

© www.soinside.com 2019 - 2024. All rights reserved.