2

SQL * Server 2008、Oracle 10G、Oracle 11G、MYSQL5などを含むいくつかのデータベースをサポートするアプリケーションを開発中です。すでにMaven内で3つのことを実行しました。

1)システムがビルド中の統合テストに使用できるように、データベースごとにプロファイルがあります。

2)Mavenはhibernate3プラグインを呼び出し、hbm2ddlを使用してスキーマスクリプトを自動的に生成します。

3)統合テストがすべてのデータベースに対して自動的に実行されるように、ハドソンマトリックスビルドが設定されます。

hbm2ddlによって作成されたスクリプトは、データベースの方言によって異なることに気づきました(当然のことながら)。

ただし、顧客向けにシステムをパッケージ化する場合は、さまざまなHudsonビルドに手動でアクセスし、そこからデータベース固有のスクリプトを取得する必要があります。退屈なプロセスは、最悪の瞬間に私たちを噛むと確信しています!

とにかく、Mavenにこれらすべてのデータベーススクリプトを自動的に生成して収集させ、顧客に出荷するWARファイルと一緒にパッケージ化できるようにすることはできますか?Mavenアセンブリプラグインですべてを圧縮することを考えていましたが、よくわかりません。

4

1 に答える 1

1

いずれにせよ、Maven でこれらすべてのデータベース スクリプトを自動的に生成して収集し、顧客に出荷する WAR ファイルと一緒にパッケージ化できるようにすることはできますか? Maven アセンブリ プラグインを使用してすべて圧縮することを考えていましたが、よくわかりません!

問題は、プロファイルの実行ごとにスクリプトが生成されることです (少なくともこれは私の理解です)。それらをある種の個別のアーティファクト (アセンブリである可能性があります) にパッケージ化し、実行のたびにインストール/展開しない限り、 Maven を使用して後続のステップでそれらを取得できます。

hbm2ddl別の方法は、定義されたゴールのいくつかの実行を含むモジュールを用意することです。しかし、これはプロファイル全体を無効にするのではないかと心配しています。

または、M2 Extra Steps Pluginを使用して Hudson に依存し、Maven ビルドにいくつかのビルド後の手順を追加することもできます (これが役立つかどうかはわかりません)。

于 2010-10-06T17:50:40.243 に答える