Home > MyBandStock

MyBandStock

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.

Previous:demo_app