We are working on improving our Software Development environment in a bid to produce quality software. My question is how should our infrastructure be set up such that we have,
- Source Control - for revision control & source sharing
- Continuous Integration - for continuous builds & pushing code to the staging sever
- Staging - hosting of applications internally
We currently have only one server which I suspect is not good practice. I would welcome suggestions regarding how we can distribute these features across multiple machines.