Ruby Enabled GooGle App Engine
Ruby Shell
Switch branches/tags
Nothing to show
Latest commit d97ce41 May 10, 2009 Ted Han Ted Han Deleting a bunch of stuff from the java-sdk (assuming that we don't n…
…eed it). Stabilized to the point that appengine-apis will find the jars where we need them. Starting up the server works fine, and freezing gems works. Need to get the uploader to work next.

README.markdown

reggae

Reggae is a Ruby tool for getting the gear you need to run your app on Google App Engine. Reggae together with ribrdb's AppEngine API ruby wrappers, DataMapper adapter (Requires the unreleased DataMapper 0.10 gems, which you can clone out and build), you can develop and deploy Merb, Sinatra, or other Rack apps on Google App Engine.

Setting up

  • Get Reggae, which includes the Google App Engine SDK Jars ("jruby -S gem install reggae").
  • Get the AppEngine-API wrappers ("jruby -S gem install appengine-apis" should do the trick)
  • Get the appengine datamapper adapter (currently has to be installed from source)

Developing

  • create your application.
  • freeze, and jar your gems. (there's a reggae task for this if you use merb. "reggae freeze [app_root="."]")
  • install your jars in your app (your gems.jar, the jruby-core and jruby-stdlib jars, and the jruby-rack jar)
  • make sure your app is a valid Java Servlet (warbler is good for this)
  • Run your app on the dev server. (you can say "reggae start [app_root="."]")
  • Upload your application. (err... reggae doesn't do this yet... the standard uploader is [reggae_root]/lib/appengine-java-sdk/bin/appcfg.sh)

Reggae's responsibilities:

  • Get the Java App Engine SDK Jars for you
  • Make any Rack app runnable on the GAEJ SDK Dev Server.
    • Gem mode, the GAEJ SDK jars live on system, referred to there
    • Embbedded mode, drop the GAEJ SDK jars into the app
  • Make any Rack app testable with the GAEJ SDK
    • Include appengine-api stuff (actually, this is already covered by AppEngine Apis!)
  • Deployment to GAE
    • Add username & password to external file so that it doesn't show up in logs

Copyright

Copyright (c) 2009 Ted Han. See LICENSE for details.