Как организовать систему актуальной демо-версии WordPress-сайта для тестирования изменений разработки?
Имеется большой многоязычный Интернет-магазин на WordPress+WooCommerce - каждый день совершаются заказы, контент-менеджеры вносят изменения и т.д.
Перед любыми обновлениями функционала - сначала всё обновляем на тестовой версии сайта для тестирования.
Тестовая версия сайта - по сути полная копия production-версии сайта. Делается вручную через запуск shell-скрипта, который rsynс'ом синхронизирует файлы из рабочей версии на тестовую и через mysqlsump и mysql синхронизирует БД.
Дедовский подход?
Может есть что-то более удобное и правильное в этом смысле?
Как организовать всё так, чтобы была актуальная тест-версия сайта куда мы выгружаем изменения - тестируем и после принятия - накатываем их на production-версию?
rsync? если у вас vps, то настройте обычный gitlab ci, чтобы девелоп ветку выливал на тестовый стенд, а мастер ветку (или по тегу) - уже на прод. если девелоп выкатили, проверили и там порядок, то сделали rebase мастер ветки от девелопа и запустился авто деплой на прод сервер.
никогда не юзал gitlab ci - посмотрю
а как сохранять актуальную базу данных на dev-версии сайта?
у нас БД около 300 Мб там - и важно порой для тестов чтобы была полнота обновленных с прода данных
Леонид, тут есть варианты.
1. в момент деплоя копировать БД с прода на дев стенд
2. юзать прод базу, но только с readonly юзером (это не подходит, если дев стенд должен что-то записывать)