Hacker News new | ask | show | jobs
by redspark 4445 days ago
Surprised this isn't a more popular response.

Vagrant/Puppet for local development

* this way every developer has an identical dev environment.

Git for code versioning - Github/Bitbucket for repo hosting

* each feature has a branch, then we use pull requests for review/merging into staging branch.

* when features are LGTM and tested, pull request to merge into production branch

Capistrano with multi-staging to deploy to staging and production servers

* every developer can deploy to staging

* only a few developers can deploy to production.