When I worked at a fairly large "adult dating" website, we would:
1) Up the code from our development environment to our staging server.
2) Personally test the shit out of it. We didn't have any QA people, so have fun finding your own bugs after looking at the same screen for X minutes/hours/days/weeks.
3) When all is good, have one of the senior developers run our sync script which would rsync the code off of our staging server to our master production server into a directory called something like: live_20081228.
4) Log into the master production server and run another sync script that would copy the code from the folder created in step #3 into the live directory. Sync script would then sync that directory to all of our other production servers.
5) If there's problems:
5a) Immediately roll back
5b) Pray that you still have a job.
The process, overall, was pretty terrible and allowed for a lot of problems to arise (which happened regularly).
1) Up the code from our development environment to our staging server.
2) Personally test the shit out of it. We didn't have any QA people, so have fun finding your own bugs after looking at the same screen for X minutes/hours/days/weeks.
3) When all is good, have one of the senior developers run our sync script which would rsync the code off of our staging server to our master production server into a directory called something like: live_20081228.
4) Log into the master production server and run another sync script that would copy the code from the folder created in step #3 into the live directory. Sync script would then sync that directory to all of our other production servers.
5) If there's problems: 5a) Immediately roll back 5b) Pray that you still have a job.
The process, overall, was pretty terrible and allowed for a lot of problems to arise (which happened regularly).