Я знаю Capistrano, но для меня это слишком тяжело. Лично я создал два репозитория Mercurial, один на рабочем сервере и другой на моей локальной машине. Регулярно, когда новая функция готова, я вывожу изменения из репозитория на своей локальной машине в репозиторий на сервере, а затем обновляю на сервере. Это довольно простой и быстрый способ синхронизировать файлы на нескольких компьютерах, но не помогает обновлять базу данных.Как вы обновляете свое веб-приложение на сервере?
Какое решение возникло из проблемы?
Я делаю то же самое, но в последнее время мне кажется, что это действительно не атомный. Не оптимально для постоянно используемого веб-сайта (люди могут получить доступ к нему на сломанной стадии, когда еще не все файлы были повторно обработаны). – Gilles 2008-10-03 19:34:33
Я добавлю, что более оптимальным способом сделать это является rsync в папку A, в то время как папка B содержит ваш веб-сайт в реальном времени, а затем делает форму перехода от A до B, переписывая символическую ссылку, указывающую на текущую версию. А затем в следующий раз, rsync к B. – Gilles 2008-10-03 19:36:09