Plugin details

A capistrano/rails plugin that makes it easy to deploy/manage/scale to EC2

Websitehttp://github.com/wr0ngway/rubber/wikis Repositorygit://github.com/wr0ngway/rubber.git Author Matt Conway Tags amazon, EC2 LicenseLGPL

Documentation

Install the plugin:
ruby script/plugin install git://github.com/wr0ngway/rubber.git

Quick Start
==============
You can follow these steps to create a demo app on a single instance

Create a simple rails project
---------------------------------------

rails rubbertest
cd rubbertest
./script/generate scaffold post title:string body:text


Install rubber
-------------------------------

./script/plugin install git://github.com/wr0ngway/rubber.git
./script/generate vulcanize complete_mysql


The complete_mysql gnerator gives you a deployment setup which inludes nginx, mongrel_cluster, mysql (automatic master/slave replication if you create a second instance in the mysl_slave role) monit and munin.

Configure rubber
-----------------------------------
Edit config/rubber/rubber.yml. To do a simple demo, you need real values for these keys

aws_access_key
aws_secret_access_key
aws_account
ec2_key_name
ec2_key_file (See the FAQ if having connection issues.)

For a real app, you should go through all the settings in rubber.yml as well as the settings in rubber-MODULE.yml which contains settings specific to each MODULE (nginx, mongrel, etc)

Create, bootstrap, then deploy to instance

ALIAS=production ROLES=web,app,mysql_master cap rubber:create
cap rubber:bootstrap
cap deploy:setup
cap deploy:cold


Then you should be able to browse to http://production.foo.com (uses /etc/hosts file, so need to set your own domain for the demo)

As a convenience, you could instead run “cap rubber:create_staging” to automate the above for a single instance.

For a more complex production setup

ALIAS=web01 ROLES=web cap rubber:create
ALIAS=app01 ROLES=app cap rubber:create
ALIAS=app02 ROLES=app cap rubber:create
ALIAS=db01 ROLES=mysql_master cap rubber:create
ALIAS=db02 ROLES=mysql_slave cap rubber:create
cap rubber:bootstrap
cap deploy:setup
cap deploy:cold


To add another app server to an existing deployment

ALIAS=app03 ROLES=app cap rubber:create
cap rubber:bootstrap
cap deploy


Further Documentation

There is currently no advanced documentation for this plugin.

New documentation

Edit plugin | (0 older versions) | Last edited by: hardway, 5 months ago