ERROR: Workspace has a .git repository, but it appears to be corrupt
Solution 1
My path to git executable was var/lib/jenkins. I added a slash before var/lib/jenkins, that is, /var/lib/jenkins. Also I installed "Git pull request builder" plugin. I downgraded git plugin version to 1.1.26. Now I can download the code from github through jenkins.
Solution 2
I had the same error, but in my case the reason was different. Actually, I had used curl command in a shell script file and then I had to create a Docker image out it. So to make the Docker image able to execute the curl command I had to install the Curl. And I had written the below code in Docker file
RUN apt-get update && \
apt-get install -y curl && \
But when I committed my code, the Jenkins build got failed with the same message ERROR: Workspace has a .git repository, but it appears to be corrupt
And the fix was that I had to add --no-install-recommends
in the install curl command. Like this
RUN apt-get update && \
apt-get install -y --no-install-recommends curl && \
The reason for that is Ubuntu installs recommended but not suggested packages. So, Ubuntu was trying to add some unwanted but maybe, recommended package which somehow was failing the build.
Solution 3
To fix this, locate a /jenkins/workspace/<job name>
directory in your Jenkins slave (or server). You should either delete all files in the workspace (if there is no negative implication of doing so) or delete only the .git
directory.
Run your job again.
Anand
Updated on June 20, 2022Comments
-
Anand almost 2 years
I am not able to pull the code from Github through jenkins. I did try to switch the git plugins in jenkins but it didn't work. No idea what the issue is..Some pointers for this would be helpful.. Am i missing some plugins or ami using plugins with the wrong version?
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)