In the near future i will get some 2 weeks for moving and improving our development environment at work.
We mainly develop one large PHP/MySQL project with 2-10 developers.
At the moment we have one dev server, running apache with mod_userdir, each dev has a /public_html folder in his (samba-accessible) home. For VCS and Project Management/Issuetracking we use Subversion and Trac. Testing/Deployment takes some manual steps, not much automation there.
My plans for the new setup include the following changes to the existing stuff:
- Continuous Integration
- Integrate CI to Trac, create/find a plugin which offers to start actions after success or failure of the build progress (i.e. deploy to staging/live)
- Create automated deployment-scripts (one-click)
- Integrate (Doxygen)-Documentation into the build-progress and somehow into Trac
- Add automatic versioning
- Add another layer of monitoring (local nagios monitoring our production-system-nagios)
- Add a nightly running MySQL Replication Slave, which can then by the developers be used to test stuff on up2date data
- Review the backup plans
- Document how and why I set everything up in this way
Do you have any tipps/hints what can be improved further? Anything we should do in a different way?