GAEに移行した

2010/09/15

Categories: gae

すっきりわかるGoogle App Engine for Javaクラウドプログラミング


オープンソース徹底活用 Slim3 on Google App Engine for Java
今年の夏は暑かったせいか、このブログをホストしているサーバが時々ハングしていた。
ので、なんとなく思い立ってGoogle App Engineに移行した。

ほぼ静的htmlしか公開していないサイトなので、静的ファイルのみのアプリケーションをGAEでホストするというゴージャス仕様。

短時間でなんとかしたいなと考え、まずは以下のように。

GAEのアカウントとったりアプリケーション登録したりと、こまごまやることはあったけど、静的ファイルを公開するだけならこれでおしまい。

・・・なのだけどハマったことがいくつか。


毎回デプロイに一時間近くかかってはこまるよなぁ、と。
ということで現在は以下のように変更。

てなことをしたら、デプロイも数十秒で収まるようになった。

アプリケーションが自分でOpenするファイルは、リソースファイルとしてデプロイしておく必要がある。

ここのサイト用アプリは次のようなディレクトリ構成になっていて、

gae-static-content/
  src/
    サーブレットなどのソース
  war/
    static-contents/
      passing-static-0.zip
      passing-static-1.zip
      passing-static-2.zip
      passing-static-4.zip以下 -f.zipの16分割。
    WEB-INF/
      classes/
      lib/
      appengine-web.xml
      logging.properties
      web.xml

war/static-contens/*.zipをリソースファイルとしてデプロイするために、appengine-web.xmlに以下のように指定している。デフォルトではstatic-fileとリソースファイルの両方としてデプロイされるそうなので、静的ファイルからは除外、とした。

	<static-files>
<exclude path="/static-contents/*" />
</static-files>

MTで記事編集→
再構築してhtml生成→
静的ファイルのpathに応じて分割アーカイブ→
アプリケーションとしてデプロイ

てな流れ。分割アーカイブはperlで書いたスクリプトで一括処理。

処理と作業の単純化のため、pathのハッシュ基準にzip分割しているのだけど、ファイルサイズを考慮していないのでそれぞれのアーカイブがGAEのファイルサイズ制限にひっかかってしまう可能性がある。が、今のところ最も大きいzipでも3MBなので、まあいいかと思っている。


環境:
 Windows 7
  JDK6u20
  Eclipse 3.6
 App Engine SDK 1.3.7


>> Home