План продвижения кода от dev, чтобы жить для WordPress
У нас есть многостраничный WordPress, и разработчики занимаются разработкой на сервере dev. Мы не используем какой-либо контроль версий для разработки WordPress, мне нужен какой-то план, чтобы мы могли быстро и безопасно перевести сайт с dev на живой.
Я думал о inotify + rsync, но как насчет продвижения db?
2 ответа
На самом деле мы занимаемся разработкой WordPress для мультисайтов на dev.example.com, а затем нам нужно перейти на действующий сайт www.example.com, поэтому нам нужно изменить все ссылки в файлах и db как с dev.example.com на www.example.com и переместите mysql с сервера dev на прямой эфир. В настоящее время я делаю это вручную, но теперь я нашел плагин WordPress с именем дубликатора, который работает для меня, включая изменения ссылок и 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 довольно хорошо продолжает работать с устаревшей схемой.