Ошибка агента TeamCity не удалось выполнить проверку на агенте

Я запускаю свой сервер и агент TeamCity 7 на MacOS. Мой репозиторий находится на github. Я использую ssh и знаю, что аутентификация настроена правильно, потому что тест прошел успешно.

Сборка работает нормально, когда я использую режим проверки VCS «Автоматически на сервере», однако, когда я использую режим проверки VCS «Автоматически на агенте», я получаю эту ошибку.

[13:40:35][Updating sources] Failed to perform checkout on agent: '/usr/bin/git fetch --progress origin +refs/heads/master:refs/remotes/origin/master' command failed.
stderr: java.io.IOException: Authentication failed
    at org.jetbrains.git4idea.ssh.SSHMain.authenticate(SSHMain.java:275)
    at org.jetbrains.git4idea.ssh.SSHMain.start(SSHMain.java:159)
    at org.jetbrains.git4idea.ssh.SSHMain.main(SSHMain.java:139)
fatal: The remote end hung up unexpectedly

Что мне не хватает?


person mishod    schedule 31.05.2012    source источник
comment
У вас есть правильный ключ ssh на агенте? Тестовое соединение в корневых настройках VCS проверяет соединение только между сервером TeamCity и вашим репозиторием.   -  person neverov    schedule 01.06.2012
comment
Я думаю, что нет, но как мне выяснить учетную запись агента? Могу ли я изменить учетную запись, под которой работает агент?   -  person mishod    schedule 02.06.2012
comment
Учетная запись агента — это учетная запись, под которой был запущен агент. Так что да, вы можете это изменить.   -  person neverov    schedule 05.06.2012


Ответы (2)


Попробуйте добавить teamcity.git.use.native.ssh=true в качестве параметра конфигурации в конфигурацию сборки.

Это то, что помогло мне решить подобную проблему. Я научился этому приему у здесь.

person max    schedule 21.02.2013
comment
Эта подсказка исправила это и для меня. - person Sohail; 06.12.2014
comment
Это сделало мой день! Огромное спасибо! - person Konstantin Nikitin; 24.07.2015
comment
Эта ссылка также может быть полезна, если у вас есть SSH-ключи Putty. (см. ветку комментариев) - person sam9046; 27.02.2018

Что было совершенно не очевидно для меня, так это то, что закрытый ключ по умолчанию на сервере копируется в агент и используется там. Сначала я тщетно пытался добавить закрытый ключ пользователю, от имени которого работал агент (очевидно, на машине агента). Но затем я добавил закрытый ключ пользователю, который запускал TeamCity на серверной машине, и после этого начала работать проверка на стороне агента.

Я также использовал свойство teamcity.git.use.native.ssh=true, но не думаю, что это помогло решить эту конкретную проблему.

Единственный след этой информации был в этом комментарии.

person vidstige    schedule 22.11.2013