Git リポジトリを、ネットワーク上の共有フォルダーから、gitolite を実行している SSH サーバーに移動しました。TeamCity が使用する公開/秘密キーを追加し、VCS ルートを指定しました。テスト接続が成功し、ビルド構成に保留中の変更が表示されるため、これはすべて正常に機能します。
ただし、TeamCity が保留中の変更をフェッチしようとすると、次のエラーが発生します。
'git fetch' command failed.
exception: Timeout exception
詳細ログに切り替えると、90 秒後にタイムアウトしたことがわかります。通常の状況では、これらの変更を取得するのに数秒かかると予想されます。
問題のトラブルシューティングを開始したので、VCS ルートを「デフォルトの秘密鍵」に変更し、config、id_rsa、および known_hosts ファイルを含む必要な .ssh フォルダーを追加しました。これらのファイルに必要なものを入れるまで、ログにフィンガープリントとパスワードのメッセージが表示されましたが、VCS ルートでキーを指定したときと同じように、サーバーは再びタイムアウト例外を返すようになりました。
コマンド ラインから Git を実行すると、プロンプトを表示せずにリポジトリのクローンを作成できます (上記のように .ssh フォルダーを設定している場合)。TC はデフォルトの SYSTEM アカウントでサービスとして実行されているため、これは別のユーザー アカウントからのものですが、先ほど言ったように、TC がそのための .ssh フォルダーへの変更を取得したことがわかるため、それが原因だとは思いません。アカウント。
何が間違っている可能性がありますか?