Я хочу иметь возможность быстро развертывать обновления на довольно загруженном сайте. Для небольших сайтов я бы просто отправил новые файлы по FTP поверх старых. Однако у этого есть несколько больших dll, которые регулярно обновляются, и пока они копируют сайт, фактически не работает (плюс есть хлопоты с их резервным копированием на случай, если что-то пойдет не так.
Я планирую использовать TortoiseHg для синхронизации с промежуточной копией на сервере через FTP (используя netdrive или что-то подобное). Затем я могу проверить, что все работает нормально, и как только это будет завершено, я хотел бы запустить файл .bat (или что-то еще), который создаст резервную копию живого сайта (желательно только файлы, которые собираются измениться, но это не критично), а затем скопируйте недавно измененные файлы на работающий сайт.
Если возможно, я также хочу, чтобы копия игнорировала определенные каталоги (например, загрузки пользователей), чтобы она не перезаписывала эти файлы на действующем сайте?
Я слышал, что RoboCopy - это лучший способ, но я не уверен, с чего начать. Нужно ли мне вызывать 2 команды (1 для первоначальной резервной копии и одна для копии)? Есть ли способ восстановить работающий сайт до его предыдущего состояния, если что-то пойдет не так?
Сайт находится в ASP.NET и будет скопирован на сервер Windows 2003.
РЕДАКТИРОВАТЬ: становится немного сложно, когда элементы web.config были изменены и должны быть объединены, чтобы настройки промежуточных серверов (настройки приложений, строки подключения и т. Д.) Не развертывались на действующем сайте. Как с этим справиться?