Git版本为2.22.1。我们有一个项目,其中包含Web资源(主要是图像和CSS),并且在Jenkins上的构建一直很顺利,直到我们转移到多分支管道构建。在Jenkinsfile中没有发生任何重大变化。构建不断失败,出现以下异常:
根据日志,源代码检出在10分钟的超时时间内失败。即使我们将超时时间更新为60分钟,它仍然无法检出。在另一台机器上,代码检出只需要5分钟,因此这不应该是一个问题。
hudson.plugins.git.GitException: Command "git checkout -f 0d29a50ec65a5fc6302d9ed56efc59b789f727c7" returned status code 128:
stdout:
stderr: fatal: the remote end hung up unexpectedly
error: git-lfs filter-process died of signal 15
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:2372)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.access$1000(CliGitAPIImpl.java:80)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$9.execute(CliGitAPIImpl.java:2681)
Caused: hudson.plugins.git.GitException: Could not checkout 0d29a50ec65a5fc6302d9ed56efc59b789f727c7
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$9.execute(CliGitAPIImpl.java:2705)
at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1195)
at org.jenkinsci.plugins.workflow.steps.scm.SCMStep.checkout(SCMStep.java:124)
at org.jenkinsci.plugins.workflow.steps.scm.SCMStep$StepExecutionImpl.run(SCMStep.java:93)
at org.jenkinsci.plugins.workflow.steps.scm.SCMStep$StepExecutionImpl.run(SCMStep.java:80)
at org.jenkinsci.plugins.workflow.steps.SynchronousNonBlockingStepExecution.lambda$start$0(SynchronousNonBlockingStepExecution.java:47)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
根据日志,源代码检出在10分钟的超时时间内失败。即使我们将超时时间更新为60分钟,它仍然无法检出。在另一台机器上,代码检出只需要5分钟,因此这不应该是一个问题。
[Pipeline] checkout
using credential buildsvc
Cloning the remote Git repository
Cloning with configured refspecs honoured and without tags
Cloning repository https://buildsvc@repo.testops.com:8443/scm/pro/web-assets.git
> git init /var/lib/jenkins/workspace/_assets-test-ci_feature_pro-1967 # timeout=10
Fetching upstream changes from https://buildsvc@repo.testops.com:8443/scm/pro/web-assets.git
> git --version # timeout=10
using GIT_ASKPASS to set credentials buildsvc is a service user that is not associated with any person. This is used to checkout source code from a version control system.
> git fetch --no-tags --force --progress -- https://buildsvc@repo.testops.com:8443/scm/pro/web-assets.git +refs/heads/*:refs/remotes/origin/* # timeout=10
> git config remote.origin.url https://buildsvc@repo.testops.com:8443/scm/pro/web-assets.git # timeout=10
> git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
> git config remote.origin.url https://buildsvc@repo.testops.com:8443/scm/pro/web-assets.git # timeout=10
Fetching without tags
Fetching upstream changes from https://buildsvc@repo.testops.com:8443/scm/pro/web-assets.git
using GIT_ASKPASS to set credentials buildsvc is a service user that is not associated with any person. This is used to checkout source code from a version control system.
> git fetch --no-tags --force --progress -- https://buildsvc@repo.testops.com:8443/scm/pro/web-assets.git +refs/heads/*:refs/remotes/origin/* # timeout=10
Checking out Revision 0d29a50ec65a5fc6302d9ed56efc59b789f727c7 (feature/pro-1967)
> git config core.sparsecheckout # timeout=10
> git checkout -f 0d29a50ec65a5fc6302d9ed56efc59b789f727c7 # timeout=10
ERROR: Timeout after 10 minutes