1

巨大な Java プロジェクトに Hudson を使用しています。プロジェクトには 2 つのチームが関与しているため、ビルドの中断は非常に合理的であり、ユニット テストの失敗やビルドの中断のレポートは、できるだけ早くトリガーする必要があります。それを達成するために、非常に頻繁にトリガーされる毎日の継続的なビルドを使用し、変更されたモジュールのみとその依存関係に対して「クリーン テスト」の目標を実行しています。

これは問題ありませんが、十分ではありません。ビルドはまだ遅すぎます。ビルド プロセスの最後に統合テストを実行していて、「時間単位」の作業、特にチーム作業に関係のないモジュールを非アクティブ化したいと考えています。 UI部分で。

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

4

3 に答える 3

2

「これは問題ありませんが、十分ではありません。ビルドがまだ遅すぎるため、ビルドプロセスの最後に統合テストを実行している一部のモジュールを非アクティブ化したいと思います。」

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

これらのチームが基準を順守する意思がない場合は、彼らのプッシュを開始する時が来ました。直接の言葉で申し訳ありませんが、あなたは重大な理由なしに、基準に従わないことによってのみ問題を求めます。私もたまにそうしなければなりませんが、たいていは流しや水泳で終わります。主に開発者のために、時には私のために。:(

于 2011-02-02T21:44:32.713 に答える
1

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

したがって、私にとっては、POMファイルをハッキングすることが唯一の選択肢のようです。

于 2011-02-01T17:47:07.687 に答える
0

速度を上げるもう 1 つの方法は、変更されたモジュールのみをビルドすることです (変更されていないモジュールは、前回のローカルまたはエンタープライズ リポジトリに残っているため)。Maven プロジェクトの高度なビルド構成には、次のオプションがあります。これを行う「増分ビルド - 変更されたモジュールのみをビルドする」。統合テストがあるという理由だけで変更されたモジュールを除外することは、非常に危険に思えます。実際、CI の要点は、変更後できるだけ早く構築することです。

できることは、ビルド プロファイルなどの手法を使用して、テストを低速と高速に分割することです。たとえば、1 秒未満は高速です。このようにそれらを分割するのは簡単で、遅いテストである開発者にも注目します。次に、ビルドのチェーンを作成して、高速ビルドが最初に実行され、可能な限り最速で開発者にフィードバックを提供できます。そのビルドが成功すると、より遅いテストがトリガーされ、妥当な最小時間でフィードバックが返されます。これらのテストは依然として価値があり、できるだけ頻繁に実行する必要があります。

ジョブをチェーンすることに決めた場合は、ある種のシナリオ用に設定されたビルド パイプライン プラグインを確認してください。

于 2011-03-14T03:18:55.667 に答える