1

この問題で説明されているように、Jenkins1 は Surefire および Failsafe プラグインを実行するときにプロパティ maven.test.failure.ignore を追加するため、ビルドでテストが失敗してもジョブは続行されます。最終的に、Maven の状態は SUCCESS になり、jenkins の状態は UNSTABLE になります。

Jenkins2 では、動作が異なるように見えます。Failsafe の「検証」ゴールが失敗を報告すると、ジョブは失敗します。

Jenkins1 の動作をするように Jenkins2 ジョブを構成する方法はありますか? (mavenプロパティを手動で追加することを除いて...)

4

1 に答える 1

0

Jenkins 1 プロジェクトには、Maven ライフサイクルに接続するライフサイクル参加者があります。まだパイプラインをサポートするようにアップグレードされていません。

パイプライン スクリプトを使用して、フェールセーフ サマリー ファイルを確認し、ビルドを UNSTABLE に設定し、エラーがある場合は FAILED に設定できます。

また、try catch で検証ステップを実行し、検証が失敗した場合にビルドを不安定に設定することもできます。これを 2 段階で行う場合 (最初にパッケージ化するまで)、ここで失敗するとビルドが正しく失敗します。統合テストの開始、停止、実行を含む検証ステップを不安定にするだけです。それがおそらく最も意味のあることです。

于 2018-01-16T05:07:52.283 に答える