У нас есть многосайтовый WordPress, и разработчики занимаются его разработкой на сервере разработки. Мы не используем никакого контроля версий для разработки WordPress. Мне нужен план, чтобы мы могли быстро и безопасно переместить сайт с разработчика на его работу.
Я думал об inotify + rsync, но как насчет продвижения db?
На самом деле мы занимаемся разработкой многосайтов wordpress на dev.example.com, а затем нам нужно перейти на действующий сайт, который является www.example.com, поэтому нам нужно изменить все ссылки в файлах и db с dev.example.com на www. .example.com и переместите mysql с сервера разработки на рабочий. В настоящее время я делаю это вручную, но теперь я нашел плагин wordpress с именем duplicator, который работает для меня, включая изменения ссылок и экспорт / импорт mysql и т. Д.
http://wordpress.org/extend/plugins/duplicator/
Более подробный ответ и другие плагины ищите в следующем вопросе.
WordPress имеет простую страницу 503 «обслуживания», которую вы можете (и должны) включить во время развертывания кода. Если вы обновляете WordPress изнутри, он автоматически включает и отключает эту страницу.
Если вы хотите включить его самостоятельно, просто создайте пустой файл .maintenance
в каталоге WordPress верхнего уровня и удалите его после завершения развертывания.
Пример:
touch /srv/www/example.com/.maintenance
rsync staging@staging.example.com:/srv/www/example.com /srv/www/example.com
# custom scripts here, if any
rm /srv/www/example.com/.maintenance
В это время пользователь WordPress с ролью администратора должен посетить http://example.com/wp-admin/network/upgrade.php
(для нескольких сайтов; удалить /network
для одного сайта), чтобы обновить схему базы данных. Я не знаю ни одного хорошего способа сделать это в автономном режиме; однако WordPress довольно хорошо продолжает работать с устаревшей схемой.