Перейти к содержимому

Создание

Создание с хоста

Командная оболочка
wp rudel create --name=alpha --theme=twentytwentyfour

Rudel создает ID из имени и четырех шестнадцатеричных символов (например, alpha-3be7), клонирует таблицы WordPress хоста с сгенерированным префиксом таблиц, копирует выбранную тему в каталог песочницы и записывает ее в базу данных WordPress хоста. Параметры siteurl и home песочницы сохраняют URL хоста.

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

Копируются все таблицы с префиксом таблиц хоста, включая users и usermeta, кроме собственных таблиц Rudel. В текущем выпуске это также включает таблицы уже существующих песочниц, поэтому каждая новая песочница больше предыдущей. См. проблему #3.

Создание из другой песочницы

Командная оболочка
wp rudel create --name=feature-b --clone-from=alpha-3be7

Новая песочница получает копии всех таблиц с префиксом исходной песочницы, включая таблицы ее снимков, а также ее тему. Каталоги снимков не копируются, поэтому эти таблицы не используются в новой песочнице (проблема #12). Если каталог темы источника является репозиторием Git, Rudel создает связанное рабочее дерево для ветки rudel/{new-id} вместо обычной копии. ID источника записывается в новую запись.

Метаданные жизненного цикла

Песочницы могут содержать метаданные для очистки и указания владельца:

Командная оболочка
wp rudel create \
  --name=feature-a \
  --owner=dennis \
  --labels=agent,qa \
  --purpose="Test checkout changes" \
  --ttl-days=7

Используйте --protected, если автоматическая очистка не должна удалять песочницу. См. Политика.

Ограничения

Создание завершается ошибкой при достижении настроек max_sandboxes или max_disk_mb. По умолчанию для обоих задано 0, то есть ограничения отсутствуют. См. Конфигурация.

Рабочие копии Git

Командная оболочка
wp rudel create --name=feature-a --git=https://example.test/my-theme.git

Rudel создает песочницу, клонирует удаленный репозиторий в themes/my-theme внутри каталога песочницы и переключает рабочую копию на ветку rudel/{id}. Добавьте --type=plugin, чтобы клонировать репозиторий в plugins/my-theme. Если клонирование не удается, песочница остается на месте, а команда выводит предупреждение. См. Git, чтобы узнать, что песочница предоставляет из этой рабочей копии.

Структура каталогов

Text
wp-content/rudel-environments/{id}/
  themes/       copied theme, plus any Git checkout
  snapshots/    snapshot metadata and theme copies
  logs/ metadata/ tmp/
  wp-cli.yml
  debug.log     when debug logging is active