Я переместил репозиторий Git из общей папки в сети на SSH-сервер, на котором запущен gitolite. Я добавил открытый / закрытый ключ для использования TeamCity и указал на него корень VCS. Все работает нормально, поскольку Тестовое соединение прошло успешно, и моя конфигурация сборки показывает ожидающие изменения.
Однако, когда TeamCity пытается получить эти ожидающие изменения, я получаю следующую ошибку:
'git fetch' command failed.
exception: Timeout exception
Переключение на подробное ведение журнала Я вижу, что время ожидания истекло через 90 секунд - я ожидал, что при нормальных обстоятельствах получение этих изменений займет несколько секунд.
Поскольку я начал пытаться устранить проблему, я изменил свой корень VCS на «Закрытый ключ по умолчанию» и добавил необходимую папку .ssh с файлами config, id_rsa и known_hosts. Я видел в журнале сообщения об отпечатке пальца, а затем о пароле, пока не поместил все необходимое в эти файлы, и теперь мой сервер снова вернулся к выдаче исключения тайм-аута, как это происходит, когда я указываю ключ в корне VCS.
Если я запускаю Git из командной строки, я могу клонировать репозиторий без каких-либо запросов (когда у меня настроена папка .ssh, как указано выше). Это из другой учетной записи пользователя, так как TC работает как служба под учетной записью SYSTEM по умолчанию, но я не думаю, что причина в этом, потому что, как я уже сказал, я вижу, что TC внес изменения в папку .ssh для этого аккаунт.
Что может быть не так?