3

Jenkinsを使用してマルチモジュールのMavenプロジェクトを構築しようとしています。

Jenkinsと同じ環境(variables / settings.xml / user)を使用してコマンドラインで同じプロジェクトをビルドすると、テストが失敗するとビルドがすぐに失敗します。

Failed tests:
  testSomething(com.package_name.TestSomethingOrTheOther)

Tests run: .., Failures: 1, Errors: 0, Skipped: 0

[INFO] ------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] There are test failures.
...
# Build fails immediately

一方、ジェンキンスで構築する場合:

Failed tests:
  testSomething(com.package_name.TestSomethingOrTheOther)

Tests run: .., Failures: 1, Errors: 0, Skipped: 0

[ERROR] There are test failures.
...
# Build continues to other modules
...
[INFO] Reactor Summary:
[INFO] ------------------------------------------------------------------------
[INFO] parent ................................................ SUCCESS [.....s]
[INFO] module-that-failed .................................... SUCCESS [.....s]
[INFO] ------------------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------

ビルドでは、すべてのモジュールと親がSUCCESSに対応していると記載されていますが、実際にはこれらは失敗するはずです。

コマンドラインでmavenが行うように、JenkinsにMavenビルドでフェイルファストを強制させるにはどうすればよいですか?

前もって感謝します。

4

2 に答える 2

9

Jenkinsはデフォルトでテストの失敗を無視し、ビルドが不安定である場合はそれを不安定としてマークします。

それを制御するパラメーターは次のとおりです。testFailureIgnore(surefireプラグインのドキュメントを参照)

私はそれを試したことがありませんが、jenkinsジョブ構成でその設定をオーバーライドしようとします:

-Dmaven.test.failure.ignore = false

于 2012-05-02T20:24:13.217 に答える
1

[ビルド]セクションの[詳細]ボタンMAVEN_OPTSをクリックするかどうかを指定できます。

于 2012-05-02T18:02:44.790 に答える