読者です 読者をやめる 読者になる 読者になる

#chiroito ’s blog

Java を中心とした趣味の技術について

GAE+Ruby+Railsプロジェクトのデプロイ

今回はGoogle App Engine SDK1.4.0とRuby on Rails 2.3.11、Ruby1.8.7で作られたプロジェクトをGoogle App Engine上にデプロイしてみます。

プロジェクトの作成はこちらGAE+Ruby+Railsプロジェクト作成 on Windows -2.3.11版-
開発環境で起動はこちら開発環境でのGAE+Ruby+Railsプロジェクトの起動

目的

GAE用JRuby on Rails2.3.11のプロジェクトをGoogle App Engineへデプロイする。

環境

Windows7 Ultimate SP1
Ruby 1.8.7(C:/Ruby187にインストール済み)
appengine-sdk 1.4.2
Ruby on Rails 2.3.11
プロジェクトのパス C:\Users\xxx\gaerails
PATHにC:/Ruby187/binが含まれています。
アプリケーションID xxxID(取得したアカウントはxxx@gmail.comとします)

デプロイ準備

プロジェクト/WEB-INF/appengine-web.xml
3行目のapplication要素の値を取得したアプリケーションIDに変更します。
(今回のアプリケーションIDはxxxIDとします。)
xxxID
追記:このファイルが無い場合はdev_appserverを実行してください。
開発環境でのGAE+Ruby+Railsプロジェクトの起動

デプロイ

デプロイを行うにはappcfg.rb.batを使用します。

使用例:
appcfg.rb [options] []
詳細は-hオプションでヘルプをご覧下さい。

今回はjruby-core-1.6.0.jarファイルが10MBを超えてしまっているため--enable_jar_splittingオプションを利用して分割を行います。

初めての場合はアプリケーションIDを取得したメールアドレス(26行目)とそのパスワード(27行目)の入力が求められます。
C:\Users\xxx>cd C:\Users\xxx\gaerails
C:\Users\xxx\gaerails>appcfg.rb.bat --enable_jar_splitting update .
=> Running AppCfg
Reading application configuration data...
2011/03/19 18:03:40 com.google.apphosting.utils.config.AppEngineWebXmlReader readAppEngineWebXml
情報: Successfully processed .\WEB-INF/appengine-web.xml
2011/03/19 18:03:40 com.google.apphosting.utils.config.AbstractConfigXmlReader readConfigXml
情報: Successfully processed .\WEB-INF/web.xml
Beginning server interaction for xxxID...
0% Creating staging directory
5% Scanning for jsp files.
2011/03/19 18:03:40 com.google.appengine.tools.util.JarSplitter createOutFile
情報: Opening new file: C:\Users\xxx\AppData\Local\Temp\appcfg388426224494299090.tmp\WEB-INF\lib\jruby-core-1.6.0-0000.jar
2011/03/19 18:03:41 com.google.appengine.tools.util.JarSplitter run
情報: Closing file after writing 9991985 bytes.
2011/03/19 18:03:42 com.google.appengine.tools.util.JarSplitter createOutFile
情報: Opening new file: C:\Users\xxx\AppData\Local\Temp\appcfg388426224494299090.tmp\WEB-INF\lib\jruby-core-1.6.0-0001.jar
2011/03/19 18:03:43 com.google.appengine.tools.util.JarSplitter run
情報: Closing file after writing 9990346 bytes.
2011/03/19 18:03:43 com.google.appengine.tools.util.JarSplitter createOutFile
情報: Opening new file: C:\Users\xxx\AppData\Local\Temp\appcfg388426224494299090.tmp\WEB-INF\lib\jruby-core-1.6.0-0002.jar
2011/03/19 18:03:43 com.google.appengine.tools.util.JarSplitter run
情報: Closing file after writing 1316596 bytes.
20% Scanning files on local disk.
25% Initiating update.
Email: xxx@gmail.com
Password for xxx@gmail.com:
28% Cloning 7 static files.
31% Cloning 59 application files.
40% Uploading 10 files.
52% Uploaded 2 files.
61% Uploaded 4 files.
68% Uploaded 6 files.
73% Uploaded 8 files.
77% Uploaded 10 files.
80% Initializing precompilation...
82% Precompiling... 3 file(s) left.
84% Precompiling... 2 file(s) left.
85% Precompiling... 1 file(s) left.
90% Deploying new version.
95% Will check again in 1 seconds.
98% Will check again in 2 seconds.
99% Will check again in 4 seconds.
99% Will check again in 8 seconds.
99% Will check again in 16 seconds.
99% Closing update: new version is ready to start serving.
99% Uploading index definitions.

Update completed successfully.
Success.
Cleaning up temporary files...
デプロイはこれで完了です。

ブラウザでの確認

ブラウザで http://xxxID.appspot.com/ へアクセスしてみましょう。
下記の様なページが表示されます。

参考

Google App Engineを使ってみる
GAE+Ruby+Railsプロジェクト作成 on Windows -2.3.11版-
開発環境でのGAE+Ruby+Railsプロジェクトの起動