メインのビルドステップに何を使用していますか?マヴェント?蟻?カスタムスクリプト?これを行うには多くの方法があり、OPで説明しなかった.exeの設計方法に大きく依存します。
最も簡単なのは、ドロップダウンから別のビルドステップを追加することです。[ Windowsバッチコマンドの実行]を選択します。そこで、バッチコマンドを記述して.exeを起動し、リターンコードをキャプチャします。
C:\Location_of_exe\your.exe
IF NOT "%ERRORLEVEL%" == "0" (
ECHO "Your exe failed"
EXIT /B 1
) ELSE (
ECHO "Your exe passed"
)
.exeが通常のプログラムのように機能する場合、成功すると終了コード0が返されます。それ以外の場合は、ゼロ以外の終了コードが返されます。上記のステートメントは、ゼロ以外の終了コード(ある種の失敗を示す)を探し、検出された場合、エラーコード1自体でバッチを終了しますEXIT /B 1
。これにより、ビルドステップが失敗したことがJenkinsに示され、ジョブが失敗したことがマークされます。
繰り返しになりますが、これは.exeが正しく、失敗時にゼロ以外の終了コードを返すことに大きく依存します。
「exeに他の詳細も記録してほしい」という限り、繰り返しになりますが、完全に.exeに依存します。
障害ごとに異なる終了コードを返しますか?-もしそうなら、上記のコードはすべての可能性をキャプチャし、それに応じてログにエラーを表示するように簡単に変更できます
コンソールにさまざまなエラーを表示するのはコマンドライン.exeですか?その場合、バッチから呼び出すと、Jenkinsログにエラーが自動的に表示されます。.exeが正しい終了コードを返さない場合にも、このアプローチを使用できます。コマンドライン出力をキャプチャし、findstr
そこで特定の出力行を検索して成功または失敗を判断するために使用できます
.exeがGUIアプリケーションであり、正しい終了コードを生成しない場合は、成功したか失敗したか(および何が失敗したか)を判断する方法がありません。
あなたがそれがどれであるかを特定したら、私はこの答えを更新します。