| Assuming your main product is on the web, you really only need a few things to do this right: - Automated tests that run on push to any branch. - Rolling deploys (no downtime) from any branch. - Exception reporting system (Exceptional, Hoptoad, homegrown, whatever). - Twitter search feed. Push to a topic branch, wait for the tests to come in green, deploy from topic branch, watch exception notification and twitter. If everything looks okay after 10 minutes, push to master. If exceptions or twitter blows up, redeploy master. You should be able to setup the whole system in about the same time as it takes to develop a majorish product feature. |