Перейти до вмісту

Створення

Створення з хоста

Командна оболонка
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.

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

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