Как развернуть контент WordPress из Dev в Staging в производственную среду? - PullRequest
1 голос
/ 13 февраля 2020

Мы унаследовали веб-сайт WordPress и создали среды разработки, подготовки и производства. Развертывание изменений кода в каждой среде (например, переход от Dev к Staging) было легко сделать, поместив код в Git.

Однако мы не уверены, как сделать то же самое с контентом WordPress, который живет в базе данных, а файлы - в каталоге wp-content / uploads.

Мы бы хотели использовать наш сайт Dev в качестве источника правды, подготовить там изменения контента, а затем развернуть эти изменения контента в Staging и Производство, как мы поступили бы с кодом.

Некоторые ситуации, с которыми нам приходится сталкиваться:

  • Развертывание контента (а не пользователей) только из одной среды в другую
  • Возможность развертывания изменений вне таблицы wp_posts. Например, если мы изменим меню в «Внешний вид»> «Меню», оно хранится в другом месте в БД WordPress.
  • Убедитесь, что любые жестко запрограммированные абсолютные URL-адреса (например, в изображениях, ссылках, виджетах и ​​т. Д. c) не развернуты с жестко заданными доменами (например, dev.mydomain.com)

Существует ли стандартизированный способ обработки конвейера развертывания контента в WordPress от Dev до Staging to Production?

Мы смотрим на плагины, но ни один из них не достигает этого в полной мере.

Спасибо

1 Ответ

0 голосов
/ 13 февраля 2020

Скорее всего, вы ищете скрипт ETL (Extract - Transform - Load). Это потянет за столы, которые вы хотите. Извлечение -

  • Wp_posts
  • wp_postmeta
  • wp_terms
  • wp_termmeta
  • wp_term_taxonomy
  • wp_term_relations
  • любые таблицы плагинов, не входящие в ядро ​​wp.

Или вы можете взять все таблицы, кроме:

  • wp_users
  • wp_usermeta
  • wp_options

Затем запустите поиск и замените абсолютные URL-адреса.

Наконец загрузите таблицы в следующую среду.

Вы можете написать это вручную или использовать программу, такую ​​как Talend Open Studio для больших данных

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...