I'm currently quite troubled by the way of deployment my team is adopting... It's very old-fashioned and I know it doesn't work very well. But I don't exactly know how to change it, so please give some suggestions about it...
Here is our current setup:
2 webservers
1 database server
1 test server
Current deployment adaptation
1. We develop and work on the test server, every changes is uploaded manually to the test server.
2. When a change or feature is complete, we then commit the changes to SVN repository.
3. After committing the changes, we then upload our changes to the first webserver, where there will be a cronjob running every minute to sync the files between the servers.
Something very annoying is, whenever we upload a file just as the syncing job starts, the file that is sync-ed will appear corrupted, since it is only half-uploaded. Another thing is whenever there is a deployment fault, it will be extremely difficult to revert. These are basically the problem I'm facing, what should I do?