次の呼び出し構造があります。
- ジェンキンスが走る
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
ます。
関連する可能性のあるリンク:
@slm具体的な提案はありますか?
—
l0b0 14
私のために固定何ジェンキンスは、GITのレポへの適切な資格情報を持つユーザーとして実行されていたことを確認作っていた
—
MauricioOtta
それ
—
デロバート
git-upload-pack
が、AFAICTがすべきことです。git fetch-packプロトコルについて話し、送信する内容を伝えるのを待っています(ローカルリポジトリで実行してみてください。同じ出力が得られます)。
(この質問は2013年からのものなので、時代遅れではないと仮定します
—
derobert
git clone
)Jenkinsがフェッチしようとしているホストで(githubから)新鮮なものが動作しますか?私はそれはないでしょう疑い、とあなたはおそらく壊れファイアウォールによって引き起こされるパスMTU探索問題持つ(パスだけでなく、あなたの側上の任意の場所かもしれません。)
strace -p <pid of hung git daemon>
ブロックしているとはどういうことですか?