I'm the lead developer in a team of 2. My partner has only just joined the project and despite using GIT for version control etc, we are still stuck in the dark ages when it comes to code deployment.
Currently I make all site updates via FTP (this way I have control / responsibility over everything that goes live), using Filezilla.
I've done this for years, but we now have some large PHP classes (300KB), and a lot of traffic.
So in short, every time I upload a key class "general" for example, the site goes down until the file finishes uploading. This is only 5/6 seconds at a time, but this is increasingly unacceptable.
I realise I can upload the file under a different name and then rename both files... but really there must be a better way?
I've heard about rsyncing code across from another server, but I don't see how this prevents switching to the new file whilst uploading.
We only have one server (for DB and Apache) but also use some cloud servers (for openx as an example).