2

最終的にいくつかのNUnitWeb テストを実行しようとしましたが、バッチ コマンドを実行する前に Jenkin のテストが停止することがわかりましたpath\to\nunit.exe。そこで、単一のビルド ステップである Execute Windows batch command で構成される新しいジョブを実行してみましたC:\Windows\system32\calc.exe。これが私のコンソール出力です:

ユーザー匿名で開始

ワークスペース C:\Program Files (x86)\Jenkins\jobs\[自分の仕事]\workspace [ワークスペース] $ cmd /c call C:\Windows\TEMP\hudson8921839713501090632.bat でのビルド

C:\Program Files (x86)\Jenkins\jobs\[私の仕事]\workspace>C:\Windows\system32\calc.exe

そして、オフの場合はカットするまでハングします。言うまでもなく、このコマンドはコマンド プロンプトで正常に実行されます。また、新しいプロセスを開かないコマンド (例: dir) は で正常に実行されJenkinsます。cmd.exe でバッチ コマンドを実行する場合と Jenkins を介して実行する場合の違いがわかりません。の google 検索では、リモートで関連する情報が見つかりませんjenkins cannot open exe。アドバイスをいただければ幸いです。

編集:

Shiva の提案を実践しながら、Jenkins ジョブを実行している間、実行中のプロセスを観察してみました。コマンドの前に を付けないとstartcalc.exe実行されますが、インターフェイスは表示されません。ジェンキンスのジョブを強制終了すると、電卓も強制終了されます。を含めた場合start、jenkins ジョブが自動的に終了し、ジョブが終了した後も電卓が引き続き実行されることを除いて、すべて同じです。新しいログは次のとおりです。

ユーザー匿名で開始 ワークスペース C:\Program Files (x86)\Jenkins\jobs\First Job\workspace [workspace] $ cmd /c call C:\Windows\TEMP\hudson8285328547956378876.bat でビルド

C:\Program Files (x86)\Jenkins\jobs\First Job\workspace> start C:\Windows\system32\calc.exe

C:\Program Files (x86)\Jenkins\jobs\First Job\workspace>exit 0 リークされたファイル記述子を処理します。詳細については、 http ://wiki.jenkins-ci.org/display/JENKINS/Spawning+processes+from+build を参照してください。

これは別の動作ですが、さらなる啓発が得られるかどうかはわかりません。実行中のプロセスと対話できないのはなぜですか?

おそらく関連: Jenkinsは.batからのコマンドを正しく実行しません

4

3 に答える 3