I've created yet another system for deploying rails apps to ec2 using capistrano.  None of the others were doing it for me, primarily because I needed a way to deploy/configure/scale-up to multiple instances as needed.
  What makes this system different?

  • Role and/or host based configuration of instances

  • All configuration for your instances lives in your project's source tree and gets applied on deploy

  • Configuration system handles dynamically adding instances

  • Configuration templates for sharing deployment scenarios

  • Start with a single instance and scale up as needed without editing config

  • Use whatever AMIs you want (so long as they are debian based :)

You can find the README file in subversion on rubyforge (project rubber).  You can install the framework from subversion as a rails plugin in the usual way - the README walks you through a demo using the plugin on a dummy rails app, and there is no need to check anything into subversion to do the demo.

This is still very much a work in progress, so don't use it in production, and expect things to drastically change requiring you to reinstall and reconfigure.

Any feedback appreciated, but check the TODO first :)