Проблема с Git оформить заказ | git -lfs фильтр-процесс умер от сигнала 15 - PullRequest
0 голосов
/ 13 января 2020

Git версия 2.22.1. У нас есть проект, у которого есть веб-ресурсы (в основном изображения и CSS), и сборка на Jenkins работала нормально, пока мы не перешли к многоотраслевой сборке конвейера. В Jenkinsfile не произошло серьезных изменений. Сборка постоянно завершается сбоем со следующим исключением:

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

Ответы [ 2 ]

0 голосов
/ 14 января 2020

Эта проблема решена путем удаления всех атрибутов (все они были связаны с lfs), присутствующих в файле .gitattributes. Я внес это изменение, и Jenkins (многоотраслевой конвейер) смог успешно извлечь исходный код. Затем я добавляю все эти git атрибуты обратно и снова откладываю изменения. Тем не менее, Дженкинс может проверить код. По сути, в коде ничего не изменилось, и все же как-то с этими двумя шагами проверка происходит успешно.

Я также добавил конфигурацию 'Git LFS pull after checkout', но это не имеет ничего общего с проблемой проверки кода.

0 голосов
/ 13 января 2020

Я бы попытался очистить рабочее пространство и обрезать репо

использовать шаг оформления заказа следующим образом:

        checkout([$class: 'GitSCM',
            branches: scm.branches,
            extensions:  scm.extensions + [[$class: 'WipeWorkspace'], [$class: 'PruneStaleBranch']],
            userRemoteConfigs: scm.userRemoteConfigs
        ])

https://jenkins.io/doc/pipeline/steps/git/

https://wiki.jenkins.io/display/JENKINS/Workspace+Cleanup+Plugin

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...