2012-05-31 18 views
11

私はTeamCity 7サーバーとエージェントをMacOS上で実行しています。私のレポはギブスにあります。私はsshを使用し、テストが成功したので、認証が正しく構成されていることを知っています。TeamCityエージェントのエラー "エージェントでのチェックアウトの実行に失敗しました"

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 

私は何が欠けていますか?

+1

エージェントに正しいsshキーがありますか? VCSルート設定の「テスト接続」は、TeamCityサーバーとリポジトリ間の接続のみをテストします。 – neverov

+0

私はそう思わないが、エージェントのアカウントをどうやって把握するのだろうか?エージェントが動作するアカウントを変更することはできますか? – mishod

+0

エージェントのアカウントは、エージェントが開始されたアカウントです。そう、あなたはそれを変えることができます。 – neverov

答えて

17

buildcity.git.use.native.ssh = trueを設定パラメータとしてビルド設定に追加してください。

これは私にも同様の問題を解決するのに役立ちました。私はhereからこのトリックを学びました。

+0

このヒントは私のためにも修正されました。 – cheez

+0

これは私の一日を作った!本当にありがとうございました! –

+1

この[リンク](https://youtrack.jetbrains.com/issue/TW-52052#comment=27-2607007)は、パテSSHキー(コメントスレッドを参照)がある場合にも役立ちます。 – sam9046

1

私には全くわかりませんでしたが、サーバー上のデフォルトの秘密鍵がエージェントにコピーされてそこに使用されています。私はまず、エージェントが(明らかにエージェントマシン上で)実行していたユーザーに秘密鍵を追加することを無駄に試しました。しかし私は、サーバーマシン上でTeamCityを実行していたユーザーに秘密鍵を追加してから、エージェント側のチェックアウトが開始されました。

私はteamcity.git.use.native.ssh=trueプロパティも使用しましたが、この特定の問題には役立たなかったと思います。

この情報の唯一の痕跡はthis commentです。

関連する問題