Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Measured Voice AWS deployment tools
Ruby Python
Branch: master
Pull request Compare This branch is 1 commit behind clemesha:master.

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
bundle
cookbooks
.gitignore
README
chef_attrs_template.rb
chef_config.rb
config_template.py
ec2provision.py
fabfile.py

README

Deploy web apps to AWS for MeasuredVoice 
========================================


Current Functionality
---------------------
Deploy a 'Hello World' Ruby app to AWS, using Fabric and Chef.



Setup
-----

1) Install 'virtualenv' and 'pip' globally:
    $ sudo easy_install virtualenv pip

2) Create a virtualenv with dependancies:
    $ virtualenv --no-site-packages venv && pip -E venv install -U boto fabric

3) Going into virtualenv:
    $ source venv/bin/activate 

4) Move 'config_template.py' to 'config.py' and fill in values.

5) Move 'chef_attrs_template.rb' to 'chef_attrs.rb' and fill in values.




Deploying to AWS
----------------

1) Start up a EC2 instance: 
    $ fab provision

2) Install dependancies and app into instance:
    $ fab bootstrap:host='the-hostname-returned-from-provision'





Components
----------
    - 'config.py' contains AWS credentials and deployment specific configuration.





Notes
------

Chef cookbooks:
    - https://github.com/opscode/cookbooks
    - https://github.com/37signals/37s_cookbooks


Serving rails with Nginx+Passenger:
    - http://stackoverflow.com/questions/1420183/should-i-user-apache-or-nginx-passenger-or-mongrel-for-my-rails-application
    - http://stackoverflow.com/questions/1138585/should-i-use-passenger-on-apache-or-nginx

Chef + rails tutorial:
    - http://akitaonrails.com/2010/02/20/cooking-solo-with-chef
Something went wrong with that request. Please try again.