Создание
Создание с хоста
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, чтобы узнать, что песочница предоставляет из этой рабочей копии.
Структура каталогов
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