Створення
Створення з хоста
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, що означає відсутність обмеження. Див. Конфігурація.
Checkout Git
wp rudel create --name=feature-a --git=https://example.test/my-theme.git
Rudel створює ізольоване середовище, клонує віддалений репозиторій у themes/my-theme в його каталозі та перемикає checkout на гілку rudel/{id}. Додайте --type=plugin, щоб клонувати натомість у plugins/my-theme. Якщо клонування не вдасться, середовище залишиться, а команда виведе попередження. Див. GitДокументацію про те, що середовище обслуговує з цього checkout.
Структура каталогів
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