2011-02-01 3 views
1

私は巨大なJavaプロジェクトにHudsonを使用しています。 2チームがプロジェクトに参加し、ビルドを非常に賢明に分解し、失敗した単体テストやビルドブレイクの報告が可能な限り速やかに開始されなければなりません!これを実現するために、私たちは非常に頻繁に起動され、変更されたモジュールとその依存関係だけで "クリーンテスト"の目標を実行している1日の連続ビルドを使用しています。コミットされたpomを変更せずに、Hudsonの特定のモジュールを無効にするにはどうしたらいいですか?

これは問題ありませんが、ビルドがまだ遅すぎるため、ビルドプロセスの最後に統合テストを実行しているモジュールを無効にしたいと考えています。 UI部を担当するチームのために。

pomファイルをハッキングせずに一部のモジュールを無効にするようにHudsonを設定する方法はありますか?

答えて

1

私が知る限り、Hudson/Jenkinsはビルドファイルのみを実行するので、プロジェクトのカスタマイズを処理するCIの範囲にはないと思います。

私の場合、POMファイルをハッキングするのが唯一の選択肢のようです。

+0

あなたの答えをありがとう!あなたが言うように、私はこの連続的なビルドのために私がメイプルプロファイルを作ることになると思います。 – PragmaCoder

2

「この罰金ですが、十分ではない、ビルドはまだ遅すぎると私はビルドプロセスの最後に統合テストを実行しているいくつかのモジュールを無効にしたい

私はこれらのチームを買うでしょう良い男の本。統合テストはテスト目標には含まれていません。統合テストは統合テストライフサイクルフェーズに属します。

これらのチームが標準に準拠していない場合は、そのタッシュを蹴る時です。申し訳ありませんが、直接の言葉ではありますが、重大な理由がなくても、標準を守らずにトラブルを求めるだけです。私はしばらくそれをしなければならないが、それは通常、流し台で終わるか、泳ぐ。主に開発者のために、時には私。 :(

+0

Maven 2.0を使用して統合テストを実行/整理するさまざまな方法を示す記事:[Mavenと統合テスト](http://docs.codehaus.org/display/MAVENUSER/Maven+and+Integration+Testing) – PragmaCoder

+0

あなたのジレンマ、多分この質問はあなたに役立ちますhttp://stackoverflow.com/questions/3459928/running-a-specific-maven-plugin-goal-from-the-command-line-in-a-sub-module-of-am/3460241 #3460241 –

0

これを変更するもう一つの方法は、変更したモジュールだけをビルドすることです(前回のローカルリポジトリまたはエンタープライズリポジトリにまだ含まれていないモジュールをビルドする).Mavenプロジェクトの高度なビルド構成「インクリメンタルビルド - 変更されたモジュールのみをビルドする」というオプションがありますが、統合テストを行っただけで変更されたモジュールを除いて、かなり危険です。実際に、CIの全ポイントは、

あなたができることはあまり変わってはいけませんが、ビルドプロファイルなどのテクニックを使ってテストを遅く、速く分割する必要があります。このようにそれらを分割するのに十分なほど簡単で、遅いテストを再実行します。その後、速いビルドが最初に実行され、可能な限り最速の時間に開発者のフィードバックを与えるように、一連のビルドを作成することができます。そのビルドが成功すれば、ゆっくりとしたテストを引き起こして、合理的な最小時間でフィードバックを提供することができます。これらのテストは依然として価値を付加し、可能な限り頻繁に実行する必要があります。

ジョブをチェーン化する場合は、シナリオの種類として設定されたbuild pipeline pluginを参照してください。

関連する問題