Дженкинс создает фатальный EOF при получении репозитория git

Мы перешли с SVN на Git для наших репозиториев, что прошло без происшествий. Единственная проблема, которая у нас есть, заключается в том, что Дженкинс отказывается получать наши новые репозитории Git. Наши репозитории Git размещены в Atlassian Stash, который настроен как общедоступный http-репозиторий только для чтения.

Я пробовал несколько вещей, но не имел успеха. Репозитории Git правильно загружаются с помощью Source Tree и Visual Studio 2013.

Stash работает на компьютере с Windows 8 как служба под пользователем «Локальная система». Я попытался настроить его для работы под учетной записью локального пользователя с отключенным сжатием (core.compression 0).

Я пытался использовать как C:\Program Files (x86)\Git\bin\git.exe, так и C:\Program Files (x86)\Git\cmd\git.exe.

Результат, который он производит, следующий:

Receiving objects:  82% (19700/23879), 106.27 MiB | 6.00 KiB/s   
fatal: early EOF
fatal: The remote end hung up unexpectedly
fatal: index-pack failed
error: RPC failed; result=56, HTTP code = 200

    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1442)
    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1230)
    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.access$300(CliGitAPIImpl.java:85)
    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$1.execute(CliGitAPIImpl.java:280)
    at hudson.plugins.git.GitSCM.fetchFrom(GitSCM.java:645)
    ... 10 more

Хотя я пробовал с более ранними версиями Jenkins и плагинов GIT, он также терпит неудачу с последними версиями программного обеспечения, а именно:

  • git версии 1.9.4.msysgit.2
  • Дженкинс 1.588
  • Плагин клиента GIT 1.11.1
  • GIT-плагин 2.2.7

person Wouter    schedule 11.11.2014    source источник
comment
Воспроизводится ли он все время на 82%? Какую версию плагина Git вы используете на Jenkins?   -  person Ostap Elyashevskyy    schedule 11.11.2014
comment
Он не всегда останавливается на 82%, иногда позже, иногда раньше.   -  person Wouter    schedule 11.11.2014
comment
Пожалуйста, проверьте ответ по ссылке, похоже, что это проблема, связанная с индексным пакетом: stackoverflow.com/questions/10589498/   -  person Ostap Elyashevskyy    schedule 11.11.2014
comment
Кажется, ни один из них не связан. Я не использую протокол SSH, я не использую Cygwin, и проблемы с ограничением памяти возникают только на этапе сжатия.   -  person Wouter    schedule 11.11.2014
comment
@Wouter, ты решил проблему? Если это так, пожалуйста, сообщите нам.   -  person Victor Zanella    schedule 20.03.2017
comment
У нас не было этой проблемы целую вечность, но в последнее время она, кажется, снова появляется.. До сих пор не знаю.   -  person Wouter    schedule 20.03.2017


Ответы (1)


Вы можете попытаться избежать индексного пакета, увеличив размер буфера http:

git config --global http.postBuffer 1048576000

Из git-мануала:

http.postBuffer

Максимальный размер в байтах буфера, используемого интеллектуальным HTTP-транспортом при отправке данных POST в удаленную систему. Для запросов, превышающих этот размер буфера, используются HTTP/1.1 и Transfer-Encoding: chunked, чтобы избежать локального создания массивного файла пакета. По умолчанию — 1 МБ, чего достаточно для большинства запросов.

Это кажется нелогичным, но это часто помогает с клонами и пуллами.

person Michael    schedule 11.11.2014
comment
Это не то, что можно настроить в Stash, но можно установить в отдельных репозиториях. Я думаю, я должен попробовать поддержку Atlassian. - person Wouter; 12.11.2014
comment
Это конфигурация git, а не конфигурация Stash (хотя я действительно не знаю Stash), поэтому вы можете установить ее глобально. - person Michael; 12.11.2014