Warbler
最近v.0.1.2が出たGlassfish gemを使えば、JRuby on Railsの開発/テストフェーズでは非常に簡単にGlassfishにデプロイすることができます。
しかしたとえば、Glassfishではなく、既存のJava アプリケーションサーバにデプロイしたいといった場合、glassfish gemを使うことができません。そこで、(J)Ruby On RailsのアプリケーションからWarファイルを生成するgemをご紹介。
そのgemはwarbler
中身はgoldspikeというRoRのアプリケーションをwar化するプラグインと最新のJRubyでできています。
goldspikeを使っても、もちろんwarファイルを作り、デプロイすることができますが、goldspikeでつくられたwarファイルは非常に巨大で、生成にもデプロイにもコンパイルにも非常に時間がかかるものとなってしまうという弱点がありました。その弱点を改善し、さらにrubyでjava アプリケーションとしての設定も行えるようにしたのが、warblerです。
では実際に使ってみます。
まずはインストール。注目すべきは、warblerはJRubyはもちろんC-Rubyでも動作します。つまり既存のRoRアプリに一切手を加えることなく、war化することが可能です。
gem install warbler
これでインストールは完了です。インストール後、warbleというコマンドが使用可能になっているはずです。このwarbleでwar化します。まずRoRアプリのトップディレクトリに移動し、configファイルを生成します。
cd <hoge>
warble config
そうすると<hoge>/config/warble.rbというファイルが生成されます。
このファイルにはdevelopment,testといった実行時環境やRailsのバージョン設定などRoRの設定はもちろん、JNDIのデータソース名などJava アプリケーションとしての設定も含まれています。この設定ファイルを編集することで、パラメータを変更することが可能です。
次にwarファイルを生成します。
warble war
でhoge.warというwarファイルが<hoge>ディレクトリに生成されます。このwarファイルを利用することで、さまざまなJavaアプリケーションサーバにデプロイすることが可能です。
2008/03/28 by Tomo Nozawa
