MyBandStock is a project mainly written in RUBY and JAVASCRIPT, it's free.
gary
Developer Workflow
Our dev setup certainly isn't enterprise grade, so please bear with us.
It all hinges on a git repo, which keeps master branch. You could certainly push your own branches to remote as well for dev.
Right now the dev flow goes
Checkout from 'master'
develop on your own branch
pull master, merge with master.
push
pull onto gary(gary.mybandstock.com) which we call 'staging' (its not actually identical hardware)
teeeeeesssst
rinse and repeat until the master repo is stable and ready for prod
To deploy, login to the prod server, swap out for "we're down" static page. Pull, migrate, move back rails app, touch tmp/restart.txt, cross fingers
make sure you have the latest bundler
Once you checkout try bundle install rake db:migrate rake db:seed rails s cross fingers
PS - generally speaking we have 3 servers luxembourg.dreamhost.com which hosts git, and some subdomains which get little traffic. This is on their 'shared' servers. mybandstock.com - vserver running only prod, we can allocate ram amount on the fly, right now this is how we scale cheaply and quickly. We can change ram in real time w/o reboot or service loss, and then nginx automagically spawns more workers to handle the load. snake.mybandstock.com - recently setup secondary vserver for a background process daemon as well as the place for any kind of crawler, worker etc.... also on a scalable vserver. MySQL runs off their cluster at DH, so its beefy. All of our home directories run off their SAN so again, quite beefy and reliable.