Skip to end of metadata
Go to start of metadata

Webアプリの起動準備(DBの準備)を標準化しよう

例えば、とあるWebアプリケーションがSVNリポジトリに置いてあるとします。情報はこのリポジトリURLと、そのルートに置いてあるREADME.txt

1

。あなたはこのアプリを無事起動できるでしょうか?

READMEを覗くと、複雑なインストール手順が書かれています。例えば、

  • PostgreSQLまたはMySQLをインストールしてください。
  • hogeユーザを作り、そのパスワードをhogeにしてください。
  • 上記のユーザで PostgreSQLの場合は src/main/database/hoge_postgres.sql, MySQLの場合は…
  • src/main/webapp/WEB-INF/hoge.properties の user を hoge に、password を hoge に設定して下さい…

ぼちぼち、やる気が失せて来る頃です。

上記に類似した鬱陶しさを持つのが、ビルドプロセスですね。チェックアウトしたパスのどこにソースがあるかわからなくて、どうやってビルドしたらいいのかわからなくて。それを何とかしようとしたのがApache Mavenですね。mvn packageってやると、とりあえず target に jar なり war なりを作ってくれる。いいじゃないですか、分かりやすいじゃないですか。私はmaven大好きです、はい。

じゃあこれと同じ要領で、DBも作っておくれよ。どうせDB用意しないとWebアプリ動かないんだから…。というのがJiemamyです。1つのJiemamyモデル(Jiemamyのデータファイル)から、複数のDBに対応したSQLを吐くことができます。

でもさすがに、DBをインストールするところまでは面倒見切れませんでした。っていうかmvn回したらPostgreSQLがインストールされるとか、さすがに嫌じゃないですかw あと、勝手にユーザ作ったりするのもアレですよね。セキュリティ的にも。というわけで、DBのインストールとCREATE USER, CREATE DATABASE辺りまでは準備して頂くとして。そこからです。

  1. チェックアウトとDBのインストールが終わったら mvn jiemamy:execute を実行してください。
  2. この操作でDBが準備出来ました。あとはアプリを起動しましょう。mvn jetty:run を実行して、http://localhost:8080/hoge/ にアクセスしてください。

となると、アプリ起動の敷居が結構下がったんじゃないでしょうか。初めて使うWebアプリでも、ちょっと試してみよう、という気になるってもんです。


Footnotes
Ref Notes
1 READMEが置いてあるだけ、まだ親切…。 場合によってはコレもありません。
Labels
  • None