Here is my company's current process for moving changes from our development server to our production server:
- Files that need updated are brought down from production, to ensure no changes were made in production only (no it shouldn't happen; but yes, it does happen). Old development files are given a ~ prefix as a sort of "backup".
- Developer makes necessary changes.
- Updated files in development are copied from that server and pasted into the corresponding place on the production server. Old production files are given a ~ prefix as a sort of "backup".
I know this is a horrible way of doing things, but what's the best way to do this? My initial idea was to move all of our code into subversion. Then, when something needs updated, make changes in development, commit to the repository, and then update the production server from the repository.
Anyone have any alternatives / alterations / constructive criticism? Our development team only has 6 people and our code base is a sprinkling of ASP (very old, horrible legacy), PHP (somewhat newer), and Java EE (newest code; all applications built as separate WARs).
Thanks in advance
edit: For development of our Java EE apps, each developer has Glassfish v2 running on his machine. For PHP/ASP, we have a central dev server. For production, we have a server for PHP/ASP (IIS), and another one for Java (Glassfish v2).