これが私の状況です。
Cruise Control を Windows サービスとして実行していて、SSH 経由で BitBucket の Mercurial リポジトリに接続しようとしています。
すべてが正常に構成されていると確信しています (PuttyGen、Pagaent など)。サービスの実行に使用しているのと同じアカウントを使用してサーバーにリモート接続しています。コマンド ラインから hg pull -b ssh://@bitbucket.org// を発行すると、すべてが機能します。-v を mercurial.ini の ssh 構成に追加したところ、実行されたすべての手順を確認できます。
コマンド プロンプトから CC.NET を実行すると、正常にビルドされます。コンソール ウィンドウで、SSH 操作からの同じログを確認できます。
ただし、CC.NET をサービスとして (ログインしているのと同じユーザー アカウントを使用して) 実行すると、BitBucket への呼び出しがタイムアウトします。理由を突き止める方法も見つかりません。ビルド ログは役に立たず、一時ディレクトリの ccnet.log または ccnet.trace も役に立ちません。それらの 1 つに SSH 操作からのログが含まれていることを期待していましたが、そうではありません。
誰でも助けることができますか?サービスとして実行すると、Pagaent に接続できなくなるということですか (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run に追加して Pagaent を開始しました)。コマンド ラインからプルを実行したとき、ダイアログを OK にする必要がありましたが、1 回だけでした。サービスとして実行されているため、同じダイアログで待機していますか?
私の知恵に近づくことはここで終わりです。
ありがとう