1

Ant を使用して、ローカル マシンからリモート サーバーに JUnit テスト スイートをリモートで実行しています。タイムアウトは 30 分以内です。これらの JUnit テストを javac/java で実行すると、JUnit が各テストの後に.またはを出力するため、正常に動作します。Eこの継続的な出力により、テスト スイートの実行に必要な最大 9 時間、ssh 接続が維持されます。ただし、Ant では、テスト スイートが完了するまで何も出力されないため、テスト プロセスがあまりにも早く終了してしまいます。いくつかの異なる結果報告方法を試しました (ファイルへの書き込み、ほぼすべての書式設定オプションなど)。

私の質問は次のいずれかです。

テスト スイートが終了するまで SSH 接続を維持するにはどうすればよいですか? ssh 接続設定を変更するためのアクセス/許可がなく、コードがリモート サーバー上にあるため、各テストの前/中/後にローカル マシンからサーバーに何も送信できません。

また

各テスト中に何らかの出力を印刷/エコーするようにAntを設定するにはどうすればよいですか? Java の ProcessBuilder で echo を使用しても、ターミナルに表示されません。

4

2 に答える 2

3

タイムアウトを回避するためのパラメーターがあるかどうかはわかりませんが (おそらくサーバー側です)、 NOHUP コマンドの使用を検討する必要があります ( NOHUPを参照)。これにより、コマンドを停止することなく、コマンドを起動して ssh セッションを閉じることができます。

アレクシス

于 2012-05-23T14:06:54.007 に答える
1

非アクティブであることを認識したためにファイアウォールが接続を強制終了しているという仮定の下で、.xml ファイルで ServerAliveInterval を 15 程度に設定してみてください~/.ssh/config

または、Tmux または GNU Screen セッション内でテスト スイートを実行してみてください。ssh 接続は引き続き切断されますが、テストは引き続き実行され、再接続できるようになります。

于 2012-05-23T14:09:54.530 に答える