Release management

Branching strategy
We are following the branching strategy outlined in A successful git branching model. At present, since we are only releasing dev versions of the site (to http://dev.growstuff.org), we are only doing the things on the left hand side, up to and including "develop", which we call "dev". When we start having a live production website on http://growstuff.org/ we will use the techniques to the right of the "develop" branch in that diagram.

Pre-reqs
In order to deploy, your Ssh public key will need to be added to the deployment users .ssh/authorized_keys file. Generally we will set this up for people who have commit access to our github repo (i.e. a core group of developers).

Doing it
Here are the steps to deploy to the dev site. Do these from your growstuff/ directory on your own dev machine.

git checkout dev git pull upstream dev git push staging dev:master heroku run rake db:migrate heroku restart

When you've done these steps and checked the website is running (just go to http://dev.growstuff.org/ and take a look), go to Tracker and click "deliver" on whatever story it is that you've just deployed.