WordPress

Использование Staging: отправка в Production и загрузка из Production

Once a staging copy exists, two operations keep it useful: pushing your tested changes up to the live site, and resetting staging back to a fresh copy of production. This guide covers both…

Когда копия для промежуточной среды существует, две операции поддерживают её полезность: отправка протестированных изменений на живой сайт и сброс промежуточной среды к свежей копии production. Это руководство подробно охватывает обе операции, подтверждения, которые защищают ваш живой сайт, и случаи, когда отправка базы данных уничтожила бы данные.

Если вы ещё не создали промежуточную среду, начните с Использование промежуточных сред. Эта статья начинается с момента, когда промежуточная среда уже существует.

Две направления

ОперацияЧто она перезаписываетИспользуйте её, когда
Отправка на ProductionВаш живой сайтИзменения в промежуточной среде протестированы и готовы к публикации
Сброс из ProductionВаша промежуточная средаВам нужна чистая копия текущего живого сайта для работы

Обе операции находятся на одном экране: Websites, затем ваш сайт, затем Environments, затем Staging.

Вкладка Staging на сайте в KPanel

Карточка в верхней части этого экрана показывает домен вашей промежуточной среды, её статус, как давно она была в последний раз синхронизирована из production, и когда она была в последний раз отправлена. WP Admin прямо входит в панель управления промежуточной среды, а Visit site открывает фронтенд промежуточной среды.

Копия промежуточной среды, которая не была синхронизирована неделю или дольше, отмечена жёлтым на этой карточке. Старая промежуточная среда хуже, чем её отсутствие: вы заканчиваете тестированием на сайте, который больше не похож на живой. Сбросьте перед началом новой работы, а не после.

Отправка промежуточной среды на Production

Это заменяет часть или весь ваш живой сайт тем, что находится в промежуточной среде.

  1. Откройте Environments, затем Staging.
  2. Прокрутите до Push Staging to Production.
  3. Выберите, что отправить, с помощью флажков: Files, Database или оба.
  4. Если вы отметили Database, оставьте Rewrite URLs отмеченным. Это выполняет поиск и замену по всей таблице, чтобы имя хоста промежуточной среды было заменено на production как часть отправки.
  5. Отметьте I understand this modifies my live production site.
  6. Введите ваш домен production в поле подтверждения точно так, как показано.
  7. Нажмите Push to Production.

Кнопка остаётся неактивной, пока оба флажка не отмечены и домен не совпадает, поэтому неправильно рассчитанный клик не может начать отправку.

Отправка перезаписывает, она не объединяет. Всё, что изменилось на production с момента вашего последнего сброса, заменяется тем, что находится в промежуточной среде. Это включает новые посты, новые учётные записи пользователей, новые записи формы и новые заказы.

Полная резервная копия production автоматически создаётся перед тем, как что-либо будет записано, и если отправка прерывается на полпути, production откатывается к этой резервной копии. Небольшие сайты обычно завершаются менее чем за минуту; большая база данных или медиатека размером в несколько гигабайт занимает больше времени.

Выбор файлов, базы данных или обоих

Это решение имеет наибольшее значение, и ответ обычно не "оба".

Только файлы. Безопасный выбор по умолчанию для сайта, который что-либо собирает от посетителей. Редактирование тем, обновления плагинов, изменения шаблонов и пользовательский код находятся в файлах. Отправка только файлов оставляет все посты, комментарии, заказы и пользователей на production нетронутыми.

Только база данных. Для изменений содержимого или параметров, сделанных в промежуточной среде, на сайте, где никто не редактирует production напрямую. На практике редко.

Оба. Правильно для переделки или перестроения, где промежуточная среда является новым сайтом, а production полностью заменяется. Объявите об этом, сделайте это в нерабочее время и убедитесь, что у вас есть текущая резервная копия.

Отправка базы данных на живой магазин удаляет заказы. WooCommerce хранит заказы, клиентов, подписки, купоны и уровни товара в базе данных, поэтому каждый заказ, размещённый с момента вашего последнего сброса из production, исчезает сразу после завершения отправки. Частичного восстановления нет. В магазине отправляйте только файлы и вносите изменения на уровне базы данных непосредственно на production. См. Настройка WooCommerce.

Та же ловушка применяется, менее драматично, к любому сайту с комментариями, отправками форм, регистрацией участников или списком рассылки, хранящимся в WordPress.

Сброс промежуточной среды из Production

Это безопасное направление: оно перезаписывает промежуточную среду текущим живым сайтом и никогда не затрагивает production.

  1. Откройте Environments, затем Staging.
  2. Найдите Reset from Production.
  3. Отметьте Files, Database или оба.
  4. Нажмите Reset from Production.

Делайте это всякий раз, когда:

  • Production продвинулся вперёд с новыми постами, новыми заказами или редактированием содержимого.
  • Вы начинаете новую работу и хотите реалистичную основу.
  • Промежуточная среда настолько сильно отстала, что результат теста там ничего не значит.

Всё, что находится в промежуточной среде и не было отправлено, теряется. Если на промежуточной среде есть работа, которая вам всё ещё нужна, отправьте её в первую очередь или скопируйте изменённые файлы через Files, затем File Manager перед сбросом.

Как работает переписывание URL

WordPress хранит свой собственный адрес в базе данных в строках siteurl и home таблицы параметров, а абсолютные URL также появляются в содержимом постов, значениях мета, параметрах виджетов и параметрах темы.

Ваш сайт промежуточной среды работает в staging. с последующим вашим доменом, поэтому каждое из этих значений указывает на имя хоста промежуточной среды во время работы. Rewrite URLs при отправке выполняет правильный поиск и замену по всем таблицам, правильно обрабатывая параметры сериализованного плагина и заменяет имя хоста промежуточной среды на production.

Оставьте его отмеченным, если у вас нет конкретной причины не делать этого. Если вы отправляете только файлы или остаток URL промежуточной среды остаётся, исправьте это с помощью Запуск поиска и замены.

Рабочий процесс, который выдерживает испытание

  1. Сбросьте из production, чтобы промежуточная среда соответствовала живому сайту.
  2. Создайте резервную копию production перед началом, чтобы у вас была точка восстановления, независимая от отправки: Создание резервной копии.
  3. Выполните работу в промежуточной среде. Обновления плагинов и тем, новый код, изменения макета.
  4. Протестируйте в домене промежуточной среды. Загрузите изменённые страницы и те, которые вы не изменяли. В магазине запустите тестовый заказ от начала до конца.
  5. Отправьте только файлы, если вы не решили сознательно, что база данных также должна быть отправлена.
  6. Проверьте production немедленно. Главная страница, глубокая страница, оформление и панель управления администратора.
  7. Сбросьте промежуточную среду из production снова как только вы будете довольны, чтобы следующий раунд начался заново.

Промежуточная среда управляется полностью с вашего сайта production. Она не отображается как отдельная запись в списке Websites, поэтому каждый элемент управления для неё, включая удаление, находится на этой вкладке.

Удаление промежуточной среды

Карточка Delete Staging в нижней части того же экрана удаляет копию промежуточной среды. Production остаётся без изменений. Удаляйте её, когда проект завершён: промежуточная среда считается в сторону хранилища вашего плана, и устаревшая копия является скорее пассивом, чем активом.

Устранение неполадок

Кнопка "Push to Production" не активируется. Оба условия должны быть выполнены: галочка подтверждения отмечена и домен production введён точно, без https:// и без косой черты в конце.

Отправка завершилась, но сайт всё ещё показывает старое содержимое. Кеширование. Очистите из WordPress, затем Quick Actions, затем Flush Cache, очистите CDN из Performance, затем Kapsule CDN, и перезагрузите в приватном окне.

URL промежуточной среды показываются на живом сайте после отправки. База данных была отправлена без отмеченной Rewrite URLs. Запустите поиск и замену с имени хоста промежуточной среды на домен production: Запуск поиска и замены.

Я отправил базу данных и потерял заказы. Восстановите автоматическую резервную копию, созданную перед отправкой, сразу же, прежде чем на перезаписанную базу данных поступят новые заказы: Восстановление из резервной копии.

Промежуточная среда показывает ошибку после сброса. Плагин, который жёстко кодирует домен production, является обычной причиной. Войдите с помощью WP Admin на карточке промежуточной среды и деактивируйте плагины там, пока ошибка не исчезнет, затем исправьте или замените проблемный на production.

Вам всё ещё нужна помощь?

Напишите нам на support@kapsulehost.com или откройте чат в KPanel.

Открыть KPanel
Push Staging to Production | Kapsule Help