psexec で CC.NET を使用すると奇妙な問題が発生します。
それぞれのいくつかの名前の変更を除いて、基本的にビルドサーバーを複製しています。どちらも VM です。最初のサーバーは問題なく動作しますが、2 番目のサーバーのほとんど同じプロジェクトでは、CC.NET のビルドは完了しません。これは、psexec コマンドでバッチ ファイルをトリガーする CC.NET サーバー構成の一部に到達した後に発生します。
psexec コマンドはシンプルで、Ranorex の自動テスト ケースである exe ファイルをトリガーする役割を果たします。テスト ケースは、UI コンポーネントが表示されるように、現在のユーザーのセッション (セッション 1) で実行する必要があります (これは Ranorex の制約です)。
これはコマンドです:
psexec \\<server name> -i 1 cmd /c C:\Users\build\<path to exe>
OS は Windows 7、Ranorex は 3.1、CC.NET と Psexec は現時点での最新バージョンです。
CC.NET ビルド ログからの出力は次のとおりです (これは最後の部分です)。
<buildresults>
<message level="Error">PsExec v1.98 - Execute processes remotely</message>
<message level="Error">Copyright (C) 2001-2010 Mark Russinovich</message>
<message level="Error">Sysinternals - www.sysinternals.com</message>
</buildresults>
これは psexec からの出力のようです。このログを取得できる唯一の方法は、ハングした時点で CC.NET に強制的にビルドを中止させることです。ビルドが psexec 部分でハングする理由について何か考えがある人はいますか?