Comment Comment by redspark 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 branchCapistrano with multi-staging to deploy to staging and production servers* every developer can deploy to staging* only a few developers can deploy to production. parent redspark 12 years ago
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.