0

私はJavaアプリケーションに取り組んでおり、その32ビットバージョンと64ビットバージョンを作成しています。ソフトウェアはネイティブコードを使用するため、32ビットバージョンと64ビットバージョンは適切なライブラリをパッケージ化する必要があります。

現在、ビルドサーバー(jenkins)で、単一のプロジェクトで32ビットと64ビットの両方をビルドしています。その理由は、2つのビルドの同期を維持したいためです。基本的に、一方が失敗した場合、一部の機能を32ビットバージョンにデプロイしたくはありませんが、64ビットバージョンにはデプロイしたくありません。基盤となるコードベースは同じで、ライブラリだけが異なるため、ビルド番号も常に同じである必要があると思います。

このソリューションは機能しますが、2パスビルドを実行するため、ビルドに2倍の時間がかかります。それらを別々のプロジェクトに分割した場合、32ビットバージョンと64ビットバージョンがビルド番号とビルドステータスに関して同期を維持するという保証はありません。

私が本当に求めているのは、32ビットビルドと64ビットビルドの2つの子を持つ親ビルドのようです。私が確信していないのは、これをビルドサーバーで処理する必要があるのか​​、それともMavenのマルチモジュールプロジェクトとして処理するのかということです。ライブラリだけが異なり、コードはまったく異なるため、マルチモジュールプロジェクトを持つことは完全には正しくないようです。

誰かがこの状況に取り組み、ここでガイダンスを提供できますか?

4

1 に答える 1

2

マルチ構成の仕事はあなたの状況にぴったりだと思います。ただし、ビルド時間はサポートしません。唯一役立つのは、32 ビット版と 64 ビット版を同時にビルドすることです。ビルドサーバーがそれを処理するのに十分なほど強力でない場合は、別のサーバーを取得して、それをスレーブとして Jenkins に追加できます。次に、1 つのビルドに 32 ビット構成を割り当て、もう 1 つのビルドに 64 ビット構成を割り当てます。

于 2012-04-21T22:20:07.153 に答える