2008年11月29日土曜日

PaaSのmorph LabsにJavaアプリケーションをデプロイしてみる

めづらしくJavaのWEBアプリケーションをデプロイする事ができるmorph labsというPaaSを提供しているサービスがある。自作のJavaWEBアプリを動作させたい時はいつもAWSのEC2を使っていたけど、EC2は課金もあるし、morphでも試し見ようかなー、と。。。随分昔にアカウントを作ってアプリケーション用のスペースも確保していたものの、放置して忘れていた。すると最近morphから「放置し過ぎだからアプリケーションのスペースを削除したぞゴルァ!」のようなメールが来たので、そろそろ試してみることにしたw ダメな性格ですね!

まずはmorph labsにアカウントとアプリケーションのスペースを作る

  • 「Products」タブをクリック。
  • 左下の「Signup for FREE」をクリック。
  • 登録情報を入力してSubmitしたら確認メールが来るので、そのメールに書かれている「To activate your account, please visit the following URL」のURLを開く。
  • 「Moprh Control Panel」のページに飛び、「Subscriptions」というタブが開いた状態になっているので、「Subscription name」「Morph Domain」等アプリケーションの名前やらURLやらを入力する。
  • 「Type」項目で"Java"を選択する。
  • 「Database」項目では"PostgreSQL"と"MySQL"のどちらかを選択する。
  • 「Size」項目ではデフォルトの"Developers(FREE)"を選択する。"Developer FiveRuns TuneUp BETA(FREE)"ってのもあって、何なのか気になるが、このエントリで書く手順は"Developers(FREE)"を選択して進めたもの。 最後に「Create Subscription」をClickする。
  • すると次のような管理画面へのリンクがあるControl Panelが開くはず。
  • 図の(1)と(2)のリンクから「moprh_deploy.proeperties」「morh-deploy.jar」のふたつのファイルをダウンロードしておく。デプロイ時にこれらのファイルが必要になる。

WEBアプリを作って、warを作成し、デプロイする

  • 自分の場合はmavenとwicketのquickstart pluginを使って最小限のアプリケーションを作成して、そのまま「mvn war:war」してwarを作った。
  • 「moprh_deploy.proeperties」「morh-deploy.jar」のふたつのファイルをダウンロードしたディレクトリで、以下のコマンドを実行する。
    $ java -jar morph-deploy.jar --user ${username} --password ${password} --config morph_deploy.properties ${war-file}
    ちなみに、公式ページからダウンロードできるデプロイのためのpdfのマニュアルにはjarファイル名が「morph_deploy」と間違えているので注意。ダウンロードしたデプロイ用ツールのjar名である「morh-deploy.jar」が正解。
  • すると、以下のようなログが出力されてあっさりデプロイが完了するはず。
    Uploading the code...
    Creating new appspace version...
    Deploying the application...
    Deploy Done.

    For more information on the status of this deployment, you
    can view the Deployment Logs by clicking 'Manage' located
    on your subscription widget and by clicking the Logs tab.

    In this same page, you can also view your Production logs
    and Scheduled task logs.

    ** transaction commit **
  • 実は、これだけでデプロイは完了。
  • Control Panel
  • にある歯車のようなアイコンの「Manage」をClickして、「Logs」というタブを開き「Deployment Logs」にあるリンクをクリックするとアプリケーションが起動する際のログを見る事ができる。うっかりDEVELOPMENT MODEでデプロイしてしまっているのはご愛嬌。
  • アプリケーションが起動した事を確認できたら、自分のアプリケーションのURLをブラウザで開いて確認しよう。

かなーりお手軽に使えて嬉しいですね!コンテナはJettyだそうです。また、今回はDatabaseを使ってないけど、デプロイマニュアルを見てみるとDatabaseも簡単に使えそう(一般的なXADatasourceとして使うみたい)。さらに、Emailを送信する事もできるみたい。

コメントを投稿