Ruby on Rails app on Google App Engine

Ruby on-RailsRubyGoogle App-EngineRuby Datamapper

Ruby on-Rails Problem Overview


Can anyone give me some pointers on how I could deploy my rails app to GAE? I've been reading about it, but it seems to be a fairly complicated task.

I tried with the google-appengine gem, but its not a piece of cake either.

Has there been any progress with the DataMapper adapter or will I need to make changes to my models?

I was hoping to see a full-detail tutorial about it, but those that I found were somewhat out-of-date.

Ruby on-Rails Solutions


Solution 1 - Ruby on-Rails

Deploying Rails on Google's App Engine has become a lot easier than it used to be. There are a couple of caveats you should be aware of:

  • App Engine only supports the Python and Java environments so for Rails you will be deploying on JRuby
  • App Engine's datastore is based on BigTable so you won't be able to use ActiveRecord on a relational database (if you want your datastore hosted in AppEngine). But as @Geoff Lanotte as pointed out there is a Datamapper adapter you can use
  • Pre-deployment testing is done within Google's sandbox tools as opposed to things like script/server

Some other resources you might consider:

http://code.google.com/p/appengine-jruby/

http://rails-primer.appspot.com/

http://gist.github.com/335023

Solution 2 - Ruby on-Rails

You can deploy Ruby on Rails on Google Compute Engine if it works for you. Compute Engine is Iaas (Infrastructure as a Service) and it is used by Google App Engine, which is PaaS (Platform as a Service). Compute Engine is one abstraction layer lower (you can access OS resources, like: file system, network etc.).

Detailed instructions: http://startup-with-gae.blogspot.com/2015/08/how-to-deploy-ruby-on-rails-application.html

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionAlbus DumbledoreView Question on Stackoverflow
Solution 1 - Ruby on-RailsbjgView Answer on Stackoverflow
Solution 2 - Ruby on-RailsMaciejView Answer on Stackoverflow