Comments 9
Последние коммиты в проекте были 2 года назад. Не означает ли это что проект заброшен?
какие только костыли не вспоминают, лишь бы configuration management не изучать.
Это все здорово, но:
— как делать откат?
— что видят юзеры сайта в момент синхронизации? (половина файлов старая, половина новая)
— как делать откат?
— что видят юзеры сайта в момент синхронизации? (половина файлов старая, половина новая)
В настройках проекта можно указать, опцию history=true. Я ей никогда не пользовался.
Но работает вроде бы как-то так:
Сервер натравливается на символьную ссылку. Эта ссылка указывает на текущую версию проекта.
Для каждой синхронизации создается папка, обозначенная датой. Из текущей копии все переписывается в эту папку. Затем символьная ссылка заменяется ссылкой на эту новую папку. И синхронизация выполняется уже в новой папке. При необходимости отката — жмете кнопку «откатить изменения», и ссылка опять указывает на старую папку. Работает, к сожалению только для файлов.
Как правило, все происходит быстро (rsync копирует только изменившиеся файлы) и ничего показывать не надо. Но чисто технически в presync_cmd можно установить для nginx редирект на статическую страницу, а в postsync_cmd — соответственно, его убрать.
Но работает вроде бы как-то так:
Сервер натравливается на символьную ссылку. Эта ссылка указывает на текущую версию проекта.
Для каждой синхронизации создается папка, обозначенная датой. Из текущей копии все переписывается в эту папку. Затем символьная ссылка заменяется ссылкой на эту новую папку. И синхронизация выполняется уже в новой папке. При необходимости отката — жмете кнопку «откатить изменения», и ссылка опять указывает на старую папку. Работает, к сожалению только для файлов.
Как правило, все происходит быстро (rsync копирует только изменившиеся файлы) и ничего показывать не надо. Но чисто технически в presync_cmd можно установить для nginx редирект на статическую страницу, а в postsync_cmd — соответственно, его убрать.
Хотелось бы увидеть сравнение с Jenkins.
Sign up to leave a comment.
Syncman — развертывание и синхронизация проектов на удаленном сервере