我无法通过 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 可执行文件路径是 var/lib/jenkins。我在var/lib/jenkins前面加了一个斜杠,即/var/lib/jenkins。我还安装了“Git pull request builder”插件。我将 git 插件版本降级到 1.1.26。现在我可以通过jenkins从github下载代码了。
要解决此问题,请在 Jenkins 从站(或服务器)中找到
/jenkins/workspace/<job name>
目录。您应该删除工作区中的所有文件(如果这样做没有负面影响)或仅删除.git
目录。
再次运行您的作业。
我有同样的错误,但就我而言,原因不同。实际上,我在 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 试图添加一些不需要的但可能是推荐的软件包,但不知何故导致构建失败。
开始检查您在 Jenkins 设置中为 git 工具设置的位置(Jenkins -> 管理 Jenkins -> 配置系统)。
例如参见这个答案:
看起来 Jenkins 的 GIT 配置有问题,给出了 GIT 的完整路径,而不是仅“
”git
我也有同样的错误, 您应该在 Jenkins 实例 (EC2) 中安装 git
Ubuntu:
sudo apt install git -y
红帽:
sudo dnf install git -y