Я думаю, что самый безопасный способ сделать это - создать теневую копию вашего сайта для тестирования среды.
У вас будет отдельный поддомен, например:
http://dev.mysite.com
, для которого требуется HTTP-аутентификация и IP-проверка, чтобы никто не имел к этому доступа, вы должны создать сценарий миграции, который будет обрабатывать процесс перемещения файлов из dev в основной оперативный каталог.
То, как я бы это сделал, выглядит следующим образом:
- Инициируйте режим обслуживания в реальном времени, чтобы
- Запустить сценарий миграции
- Проверить черезсайт, на котором новый код вступает в силу
- удалить режим обслуживания
Сценарий миграции не сложен, в основном это скрипт, который будет выполнять следующее:
- Резервное копирование вашего живого сайта в секретное местоположение
- Рекурсивно выкидывало структуру каталогов для живого сайта несколько раз
- Первая итерация: если файл существует on dev, но не в реальном времени, затем скопируйте туда файл
- Вторая итерация: если файл существует в dev и в реальном времени, то проверьте хеши md5 и последние измененные метки времени, чтобы увидеть файл, следует перезаписать.
- Третья итерация: создайте файл суммы md5, который будет использоваться для следующего обновления.
- Затем вы соответственно измените свои ревизии.
СборкаПодобный процесс прост, но требует некоторой работы, создание административной панели, которая поможет с этим, действительно облегчит вашу жизнь.
После публикации моего ответа я бы посоветовал вам перейти с Ответ @ schneck гораздо более управляемый.