Skip to content

measuredvoice/mvdeploy

 
 

Repository files navigation

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

About

Measured Voice AWS deployment tools

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 89.3%
  • Python 10.7%