Tôi có cấu trúc cuộc gọi sau:
- Jenkins chạy
fab -Huser@host set_repository_commit_hash:123abc
. set_repository_commit_hash
chạygit fetch
vớipty = False
.- Quá trình con
ssh git@github.com git-upload-pack 'user/repository.git'
không bao giờ kết thúc.
Tôi đã thử chạy git fetch
trong một bản sao cục bộ và điều đó thành công, nhưng chạy ssh git@github.com git-upload-pack 'user/repository.git'
chỉ trả về những điều sau và bị treo:
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
Đây có phải là sự cố SSH / Git / Fabric / Jenkins đã biết không?
Tôi đã làm strace
nó, nhưng tôi đã không ghi lại phiên. Tôi tin rằng nó đã bị mắc kẹt trên a read
.
Liên kết có thể có liên quan:
- Jenkins phát hành 14752: Bỏ phiếu SCM / Tối đa # bỏ phiếu đồng thời = 1 treo phiếu bầu github
- Tại sao git-upload-pack (trong git clone) bị treo?
- vấn đề tortoisegit 1880: tortoisegit fetch bị treo do chạy / không bao giờ thoát khỏi tortoisegitplink (đặc biệt là nhận xét # 7 )
- Quá trình 'git-upload-pack' ngẫu nhiên không bao giờ kết thúc này là gì?
git-upload-pack
phải làm, AFAICT. Chúng tôi đang chờ bạn nói giao thức git fetch-pack và cho nó biết những thứ cần gửi (thử chạy nó trên một kho lưu trữ cục bộ, bạn sẽ nhận được cùng một đầu ra).
git clone
(từ github) có hoạt động trên máy chủ mà Jenkins đang cố gắng tìm nạp không? Tôi nghi ngờ điều đó sẽ không xảy ra và có lẽ bạn gặp sự cố phát hiện Path MTU do tường lửa bị hỏng (có thể là bất cứ nơi nào trên đường dẫn không chỉ là phía bạn.)
strace -p <pid of hung git daemon>
nói rằng nó chặn trên?