CloudbeesでPlayframework for Javaを使ってみるテスト
■Playframework for Javaでアプリ作成
ドキュメントはhttp://playdocja.appspot.com/documentation/1.2.2/homeを参考。
■HelloWorldアプリケーションをCloudbeesで動かす環境作成〜デプロイ
- Cloudbeesへのユーザー登録
- Cloudbeesで無料サービスを申し込み、データベースを作成。
- http://wiki.cloudbees.com/bin/view/RUN/Playframework に従う。
うpしたアプリケーションはこれです。*1ちゃんと動いてますねー。
http://firstapp.minokuba.cloudbees.net/
以下、自分向けの覚書。
・myAppに対して行うのは以下の設定。
- application.confにJDBCの設定を、dependencies.ymlにcloudbeesモジュールへの依存関係を定義
- play deps myApp -syncでcloudbeesモジュールとの依存関係を生成
・JDBCの設定は「Datasource configuration tips」を見ながら書く。上記のwikiにあるサンプルは間違ってます。たぶんこんな感じ
・bees:app:deploy コマンドで指定する公開鍵・秘密鍵は以下のURLで取得できる
db=mysql
db.url=jdbc:mysql://(DBサーバ):(ポート)/(データベース名)
db.driver=com.mysql.jdbc.Driver
db.user=xxx
db.pass=xxxjpa.dialect=org.hibernate.dialect.MySQLDialect
(xxxは環境依存。Datasource configuration tips見ながら設定)
https://grandcentral.cloudbees.com/user/keys
感想としては、すげー楽。まだ全然使い込んでないけど、playframework自体生産性は偉い高いし、プロジェクトの雛形まで作ってくれるので事前準備もとても楽。cloudbeesへのアップロードもplayの実行環境でコマンド叩くだけ出できてしまう。playframeworkは自分自身でサーバを持っているので、開発手順的には
- elipse上でHTMLファイルとクラスを作る
- play run myAppを実行してローカルでサーバー起動*2
- 動作確認したらplay bees:app:deploy myApp --app-name firstapp --app-domain minokubaでアップロード
以上終了!ですもんねーこりゃ楽だわ。
あとこうやって動かしてみると、仮想化考慮しないとクラウド(特にPAASとかIAASとか)ってホスティングサービスと変わんなくね?と思ってしまう自分がいます。まぁ個人的に使う分には、使いやすいから便利だよね。ちょっとWeb関連のお勉強しとこうかと思っていたので、この環境でちょろアプリとか作ってみようかと考え中です。今時Play for Java?Scalaじゃねーのってツッコミは回避で一つ。(Scalaまで手を出すと挫折しそうなので…)
以下は自分向けTODOタスク