2017-06-09 13 views
-2

ビルドプロセス、JSF 2.2、サーバーとしてTomcat 7、データベースとしてMySQL 5.5を実行するためにMavenで動作するJavaEE Webアプリケーションがあります。新機能の開発では、データベース構造を変更する必要が生じることがあります。この瞬間、私たちはすべて手動でこれを行うには仕事を持っている:新しいアプリケーションバージョンでデータベースを自動更新するストラテジ

  1. 待ち我々は
  2. ゴー
  3. 展開新しいコンテキスト
  4. アンデプロイコンテキストTomcatマネージャへ(真夜中)オンラインどのクライアントを持っていなくなるまで
  5. のphpMyAdminに移動し、私たちのアプリケーションがまだ「小さい」ですまだ、この処理を行うことが実現可能ですが、SQLスクリプトに

を実行するが、我々は見ていますこれを自動化することができます。私たちはすでにJenkinsについて知っています.Gitを読んだり、Mavenを使って.warをビルドしたり、Tomcatで展開したりします。

しかし、新しいバージョンを導入するときに実行するSQLスクリプトを自動化する方法についてはわかりません。それは堅牢なものでなければならないので、たとえばデータベースを2回実行するなどしてデータベースを混乱させることはありません。

私の助けになるデータベースの変更に焦点を当てたより良い展開プロセスがあれば、私の質問です。

+0

ツールやフレームワークの推奨事項を求めるには、StackOverflowのトピックを明示的にオフにしてください。詳細については、[ヘルプ]を参照してください。 – Lexi

+0

良いアイデアかもしれません。質問が終了したり、あまりにも多くのダウンボントがあると、将来の質問をする能力に影響を与えることがあります。 – Lexi

+0

@Lexi私は質問を削除することはできません、私はより良い方法で私の質問を書き直そうとします。助けてくれてありがとう –

答えて

0

liquibaseに関する前の回答を追加するだけでflywaydbを使用することもできます。

+0

flywaydbが必要なだけ正確に動作するようです。ありがとう。 –

0

解決策があります。それらの1つはLiquibaseと呼ばれます。

0

liquibaseを使用すると、ジェンキンとともにデータベースの増分変更を適用して、ビルドプロセスを自動化できます。

関連する問題