У мене є така структура викликів:
- Дженкінс біжить
fab -Huser@host set_repository_commit_hash:123abc
. set_repository_commit_hash
працюєgit fetch
зpty = False
.- Дитячий процес
ssh git@github.com git-upload-pack 'user/repository.git'
ніколи не закінчується.
Я спробував запустити git fetch
локальний клон, і це вдається, але біг ssh git@github.com git-upload-pack 'user/repository.git'
просто повертає наступне і зависає:
00ab84249d3bb20930c185c08848c60b71f7b28990d6 HEADmulti_ack thin-pack side-band side-band-64k ofs-delta shallow no-progress include-tag multi_ack_detailed agent=git/1.8.4
0041cb34b1c8ca75d478df38c794fc15c5f01cc6377e refs/heads/branch_name
004012577068adf47015001bfa0cff9386d6cdf497ce refs/heads/[...]
003f84249d3bb20930c185c08848c60b71f7b28990d6 refs/heads/master
[a couple more lines like the ones above, then:]
0000
Це відома проблема SSH / Git / Fabric / Jenkins?
Я strace
це зробив , але сесії не записав. Я вважаю, що він застряг на read
.
Можливо відповідні посилання:
- Випуск Дженкінса 14752: Опитування СКМ / Макс. Число одночасного опитування = 1 висить опитування Github
- Чому б висіти git-upload-pack (під час клонування git)?
- tortoisegit issue 1880: витяг tortoisegit зависає через запущений / ніколи не існуючий tortoisegitplink (особливо коментар № 7 )
- Що це за випадковий нескінченний процес "git-upload-pack"?
@slm Чи є на увазі якісь конкретні пропозиції?
—
l0b0
Що для мене вирішило - переконатися, що Дженкінс працює як користувач із належними обліковими даними для репортажу про GIT
—
MauricioOtta
Це те, що
—
дероберт
git-upload-pack
потрібно робити, AFAICT. Він чекає, коли ви заговорите протокол git fetch-pack і скажете, які речі надсилати (спробуйте запустити його в локальному сховищі, ви отримаєте той самий вихід).
(Якщо припустити, що це питання не застаріло, оскільки це з 2013 року) Чи працює свіжий
—
derobert
git clone
(від github) на хоста, який намагається отримати Дженкінс? Я підозрюю, що цього не відбудеться, і, напевно, у вас є проблема виявлення Шляху MTU, викликана пошкодженим брандмауером (який може бути де завгодно на шляху - не лише з вашого боку.)
strace -p <pid of hung git daemon>
говорить про блокування?