I want to be able to quickly deploy updates to a rather busy site. For small sites, I would just FTP new files over old ones. This, however, has several large dlls that are regularly updated, and when they are copied, the site is effectively inaccessible (plus there are efforts to back them up in case something goes wrong.
My plan is to use TortoiseHg to synchronize with an intermediate copy on the server via FTP (using netdrive or something similar). I can verify that everything works smoothly, and as soon as this is completed, I would like to run a .bat file (or something else) that will create a backup of the live site (preferably only the files that are going to change, but thatβs not critical), and then copy the newly modified files to the site in real time.
If possible, I also want the copy to ignore certain directories (for example, user downloads) so that it does not overwrite these files on the site in real time?
I heard RoboCopy is the way to go, but I'm not sure where to start. Would I need to invoke 2 commands (1 for the initial backup and one for the copy)? Is there a way to restore a site in real time? Previous state should something go wrong?
The site is located in ASP.NET and will be copied to the Windows 2003 server.
EDIT: It becomes a little complicated when the web.config elements have changed and they need to be combined so that the settings of the intermediate servers (application settings, connection strings, etc.) are not deployed to a real site. How is this handled?
source share