Перейти к содержимому
Перейти в KPanelПерейти в KPanel
Содержание
WordPress

Использование стейджинга: отправка в продакшн и получение данных из продакшна

Машинный перевод. Английский оригинал доступен.

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

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

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

ОперацияЧто перезаписываетсяКогда использовать
Развернуть в ProductionВаш рабочий сайтИзменения в staging проверены и готовы к публикации
Восстановить из productionВаш сайт stagingВы хотите получить чистую копию текущего рабочего сайта для работы

Обе операции находятся на одном и том же экране: Веб-сайты, затем ваш сайт, затем Environment, затем Промежуточная среда.

Страница Staging для сайта в KPanel, показывающая домен staging, его статус и время последней синхронизации

Карточка в верхней части этого экрана показывает ваш домен staging, его статус, сколько времени прошло с последней синхронизации с production и когда была выполнена последняя отправка. WP Admin сразу входит в панель управления сайта staging, а Перейти на сайт открывает его публичную часть.

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

Отправка Staging в Production

Эта операция заменяет часть или весь ваш рабочий сайт содержимым из staging.

  1. Откройте Environment, затем Промежуточная среда.
  2. Прокрутите до Развернуть Staging в Production.
  3. С помощью флажков выберите, что отправлять: Файлы, База данных или оба варианта.
  4. Если вы отметили База данных, оставьте отмеченным Переписать URL. Эта функция выполняет поиск и замену во всех таблицах, чтобы имя хоста staging было заменено на ваш production-домен в рамках отправки.
  5. Отметьте Я понимаю, что это изменяет мой live production-сайт.
  6. Введите ваш production-домен в поле подтверждения точно так, как показано.
  7. Нажмите Развернуть в Production.

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

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

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

Выбор Files, Database или обоих вариантов

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

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

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

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

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

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

Сброс Staging из Production

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

  1. Откройте Environment, затем Промежуточная среда.
  2. Найдите Восстановить из production.
  3. Отметьте Файлы, База данных или оба варианта.
  4. Нажмите Восстановить из production.

Выполняйте это в следующих случаях:

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

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

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

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

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

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

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

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

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

Удаление Staging

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

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

Кнопка "Развернуть в Production" не активируется. Должны быть выполнены оба условия: отмечен флажок подтверждения и точно введён production-домен, без https:// и без завершающего слеша.

Отправка завершена, но на сайте всё ещё отображается старое содержимое. Это кэширование. Очистите кэш через WordPress, затем Быстрые действия, затем Очистить кэш, очистите CDN через Производительность, затем Kapsule CDN, и перезагрузите страницу в приватном окне.

После отправки на рабочем сайте отображаются URL-адреса staging. База данных была отправлена без отметки Переписать URL. Выполните поиск и замену имени хоста staging на ваш production-домен: Выполнение поиска и замены.

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

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

Это было полезно?

Вы ИИ? Читайте эту страницу в Markdown

Похожие статьи

Установка WordPressУстановка WordPress через KapsuleHost выполняется автоматически. Это руководство описывает два способа установки, управление учётными данными, доступ к панели…WordPress: с чего начатьЧто делает KapsuleHost для сайта на WordPress, что вы по-прежнему делаете сами, и какое руководство читать для каждой задачи.…Автоматические обновления WordPressАвтоматические обновления поддерживают ядро WordPress, плагины и темы в актуальном состоянии без необходимости следить за релизами, и делают это безопасно:…Платёжные шлюзы для магазина WooCommerceВкладка «Платежи» показывает платежные системы, доступные для вашего магазина на WooCommerce, отображает, какие из них установлены, а какие включены, и…

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

Спросите Kora, она знает ваш аккаунт, или свяжитесь с нашей командой.

Связаться с намиНаписать в поддержку