Play framework with Scala その3

| # Comments | 3 Trackbacks
Play framework with Scala を使ってみようシリーズです。
その1
その2

さて、やっぱりGoogle AppEngine使いたいですよね。
というわけでGAEモジュールを使ってみます。

Google AppEngineのSDKはインストールされているものとします。
また、サンプルを実際にAppEngine上で動作確認をする場合には、予めアプリケーションIDを取得しておいてください。

今回のサンプルのソースは https://github.com/ueshin/play-hello/tree/play-hello-0.0.1 でブラウズできます。

GAEモジュール

Play!のGAEモジュールを使うとGAEへのデプロイが楽になります。

と、それだけではなくて、他にも様々なメリットがあります。

  • Play!標準のディレクトリ構成で
  • 開発中の自動リロードも動きます
  • LoggingはGAEで使うjava.util.loggingにディスパッチされます
  • tmpフォルダは使えません
  • Datastoreへのアクセスは全てサポートしています
  • JPAを使えます。ただし、GAEの制限を受けます これ、ダメなようです。→ その5
  • CacheはGAEのmemcacheのラッパになります
  • MailはGAEのmailサービスのラッパになります
  • Usersサービスを利用でき、開発時には擬似ページが使えます
  • モジュールを使うことができます
  • GAE環境では強制的にPRODモードになります

ドキュメントから意訳したものですが、訳を間違えていたらごめんなさい。

インストール

Play!のinstallコマンドを使ってインストールしてもいいですが、今のところ、GAEのSDKのバージョンが1.3.7と少々古いです。
現時点で最新の1.4.0が使えるものがforkされていますので、こちら持ってくることにします。

githubからファイルをダウンロードし、ビルドします。

$ wget http://download.github.com/Ouziel-play-gae-36f7634.tar.gz
$ cd ${PLAY_HOME}/modules
$ tar zxvf /path/to/Ouziel-play-gae-36f7634.tar.gz
$ mv Ouziel-play-gae-36f7634 gae-1.1-1.4.0
$ cd gae-1.1-1.4.0
$ ant -Dplay.path=${PLAY_HOME}

これで準備ができました。

[追記: 2010/12/11]
2010/12/08にGAEのSDK 1.4.0に対応したGAEモジュールがリリースされました。

$ play install gae-1.4

でインストール可能です。
[/追記]

GAEにデプロイ

今回から新しく play-hello というプロジェクトを作成して、実際にAppEngineで動作を見ていくことにします。

新規にプロジェクトを作成します。

$ play new play-hello --with scala

conf/application.confファイルに、GAEモジュールを使うよう設定します。

module.scala=${play.path}/modules/scala-0.8
#module.gae=${play.path}/modules/gae-1.1-1.4.0
module.gae=${play.path}/modules/gae-1.4

この状態で一旦ローカルで起動してみます。

$ play run play-hello

すると、war/WEB-INF/appengine-web.xml というファイルが作成されます。
AppEngineにデプロイするには、このファイルにアプリケーションIDを設定する必要があります。

<application>play-hello</application>

実際にAppEngineにデプロイしてみたい場合には、自分で取得したアプリケーションIDを設定してください。
ローカルで試すだけであれば特に設定の必要はありません。

それではデプロイしてみます。

$ export GAE_PATH=${GAE_SDK_HOME}
$ play gae:deploy play-hello

gae-1.1モジュールでは、gae:deployコマンドの--gaeオプションが正しく動作しないため、GAE_PATH環境変数にSDKのインストールパスを設定する必要があります。

[訂正: 2010/12/06]
元ドキュメント--gaeオプションの指定の仕方が間違えていたようです。

$ play gae:deploy play-hello --gae=${GAE_SDK_HOME}

のように指定すれば動作します。
[/訂正]

ブラウザで確認します。

Your application is ready!

トラックバック(3)

Play framework with Scala を使ってみようシリーズです。... 続きを読む

Play framework with Scala を使ってみようシリーズです。... 続きを読む

Play framework with Scala を使ってみようシリーズです。... 続きを読む

comments powered by Disqus

Twitter Icon

AdSense

Creative Commons License
このブログはクリエイティブ・コモンズでライセンスされています。
Powered by Movable Type 5.14-ja

Google検索

カスタム検索

2013年10月

    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31