-
Notifications
You must be signed in to change notification settings - Fork 7
Development Setup
Our development setup for Cloudspace Mockups consists of
- VirtualBox accessed via Vagrant
- Chef for the setup of the development box
Once set up, your virtual box will have:
- nginx
- mongo
- nodejs
- npm + required packages
- git
####Virtual Box
Download a new virtual box from: http://www.virtualbox.org/wiki/Downloads
Start a new virtual box using Ubuntu 10.04 64 bit server edition
####Install vagrant
http://vagrantup.com/docs/getting-started/index.html
Clone the Cloudspace Mockups repo:
git clone git@github.com:cloudspace/mockups.git
In the Cloudspace Mockups project directory:
cp Vagrantfile.default Vagrantfile
Update the Vagrantfile with your server specific settings
####Set up Chef
gem install chef
You can get a lot of good cookbooks by cloning the opscode repo
git clone https://github.com/opscode/cookbooks.git
All of the recipes that you need in order to get a development box up and running are in two places.
-
Vagrantfile.default
Any recipes that appear as follows chef.add_recipe('[recipe name]') will need to be added your opscode user account
-
There are site-specific cookbooks in [project_root]/site-cookbooks/ that contain site specific overrides for the default chef recipes. These can be added by editing your knife.rb config to include the path to site-cookbooks.
EX. ~/.chef/knife.rb . . cookbook_path ["#{ENV['HOME']}/cookbooks",'./site-cookbooks'] .
Here I have added a secondary directory based on the current directory I'm in that will look in site-cookbooks. This way I can call:
knife cookbook upload [recipe]
from any project that uses this structure.
From this point you will be ready to deploy to a development environment.
vagrant up #will run all of the chef commands necessary to create a working environment
####Deploy the Application
If you would like to test the deployment through capistrano then run:
cap deploy:check_dependencies #will check to see if you have what you need
cap deploy:setup && cap deploy #will set up and start up your application on the box you just set up
Otherwise, log in to the box and run:
git checkout git@github.com:cloudspace/mockups.git
cd mockups
sudo mongod & #run mongo as a daemon
sudo node app.js #call node on the file that controls the application