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

Конфигурация

Rudel поддерживает два вида конфигурации: настройки в параметре WordPress rudel_config и константы, заданные в wp-config.php.

Параметр rudel_config

Настройки хранятся в одном массиве в wp_options под ключом rudel_config. Пока параметр не будет записан, для каждого ключа используется значение по умолчанию. Неизвестные ключи игнорируются, значения хранятся как целые числа.

Ключ По умолчанию Значение
max_sandboxes 0 Отказаться от создания песочницы, если их количество достигло этого значения. 0 означает отсутствие ограничения.
max_disk_mb 0 Отказаться от создания песочницы, если каталоги песочниц занимают столько мегабайт. Клонированные таблицы не учитываются. 0 означает отсутствие ограничения.
default_ttl_days 0 Срок истечения для новых песочниц, созданных без ttl_days или expires_at. 0 означает отсутствие срока истечения.
max_age_days 0 Очистка удаляет песочницы старше этого срока. 0 отключает правило возраста.
max_idle_days 0 Очистка удаляет песочницы, для которых за этот период не было зарегистрировано действий (запроса к песочнице или снимка). 0 отключает правило бездействия.
auto_cleanup_enabled 1 Каждый час выполнять политику очистки из WP-Cron.
auto_cleanup_merged 0 Также выполнять очистку веток слияния из WP-Cron.
expiring_environment_notice_days 0 При каждом запуске автоматизации собирать песочницы, срок действия которых истекает в ближайшие дни, и передавать их действию rudel_after_automation_expiring_environments.
auto_snapshot_before_restore 1 Перед каждым восстановлением сохранять снимок pre-restore-....

wp rudel status выводит текущие значения.

Запишите параметр с помощью WP-CLI. Для пропущенных ключей сохраняются значения по умолчанию:

Командная оболочка
wp option update rudel_config '{"max_age_days":14,"max_idle_days":3,"auto_cleanup_merged":1}' --format=json

Или из PHP:

PHP
$config = new Rudel\RudelConfig();
$config->set( 'max_sandboxes', 20 );
$config->save();

Событие WP-Cron будет запланировано или удалено при следующем запросе после изменения. См. Автоматизация.

Константы

Определите их в wp-config.php перед строкой bootstrap Rudel.

Константа По умолчанию Значение
RUDEL_CLI_COMMAND rudel Имя корневой команды WP-CLI.
RUDEL_ENVIRONMENTS_DIR wp-content/rudel-environments Каталог, в котором находятся каталоги песочниц. Ресурсы темы всегда обслуживаются из /wp-content/rudel-environments/{id}/themes, поэтому другой каталог все равно должен быть доступен по этому URL.
RUDEL_RUNTIME_TABLE_PREFIX rudel_ Часть имен таблиц Rudel после префикса WordPress. См. Состояние среды выполнения.
RUDEL_RUNTIME_TABLE_ENVIRONMENTS Переопределение полного имени таблицы сред после префикса WordPress.
RUDEL_RUNTIME_TABLE_WORKTREES Переопределение полного имени таблицы рабочих деревьев после префикса WordPress.
RUDEL_DB_DRIVER auto Драйвер для автономного доступа к Rudel\Connection: auto, mysqli или pdo. Запросы WordPress всегда используют $wpdb.
RUDEL_GIT_AUTHOR_NAME Rudel Имя автора, которое Rudel записывает в конфигурацию Git рабочей копии, если там нет user.name; используется для коммитов wp rudel push.
RUDEL_GIT_AUTHOR_EMAIL rudel@localhost Адрес электронной почты автора, который Rudel записывает, если в рабочей копии нет user.email.

Константы в запросе к песочнице

Когда запрос выбирает песочницу, bootstrap определяет константы, доступные для чтения коду. Самые полезные из них:

Константа Значение
RUDEL_ID ID песочницы
RUDEL_PATH каталог песочницы
RUDEL_TABLE_PREFIX префикс таблиц песочницы
RUDEL_THEME_SLUG тема, обслуживаемая из песочницы
RUDEL_HOST_URL, RUDEL_ENVIRONMENT_URL URL хоста и песочницы
RUDEL_DISABLE_EMAIL true; исходящая почта заблокирована

Предпочтительнее использовать методы API, например Rudel::id(), вместо прямого чтения констант.

Bootstrap также определяет WP_DEBUG, WP_DEBUG_LOG, WP_DEBUG_DISPLAY, WP_TEMP_DIR, WP_CACHE_KEY_SALT, а также восемь ключей и солей аутентификации, но только те из них, которые еще не определены в wp-config.php. См. Журналирование ошибок и Изоляция.