現在、2 つのジョブでビルドするプロジェクトがあります。1) 単体テスト付きの標準ビルドです。2) は統合テストです。それらは次のように機能します。
- プロジェクト全体のビルド、単体テストの実行、統合テスト ジョブの開始
- プロジェクト全体を構築し、それを統合サーバーにデプロイし、統合サーバーに対してクライアント側の統合テストを実行します
問題は、ステップ 2) の実行に 1 時間以上かかることです。統合テストを並列化し、時間を短縮したいと考えています。しかし、これをどのように行うことができるか、または行うべきかは正確にはわかりません。私の最初の考えは、次のような2つのステップ2)を持つことができるということです:
- プロジェクト全体のビルド、単体テストの実行、統合テスト ジョブの開始
- プロジェクト全体をビルドし、それを統合サーバー 1 にデプロイし、統合サーバー 1 に対してクライアント側の統合テストを実行します。
- プロジェクト全体をビルドし、それを統合サーバー 2 にデプロイし、統合サーバー 2に対してクライアント側の統合テストを実行します。
しかし、統合サーバー 1 で統合テストの半分を実行し、統合サーバー 2 で残りの半分を実行するにはどうすればよいでしょうか? 私はmavenを使用しているので、おそらくフェイルセーフと複雑なインクルード/エクスクルードパターンで何かを理解できます。しかし、それは維持するのに多くの労力を必要とするもののように聞こえます. EG: 誰かが新しい統合テスト クラスを追加した場合、それが 2 つのサーバーのいずれかで確実に実行されるようにするにはどうすればよいですか? 開発者は Maven パターンを変更する必要がありますか?