Към съдържанието

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

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 преди реда за начално зареждане 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 Пълно име за замяна на таблицата environments след префикса WordPress.
RUDEL_RUNTIME_TABLE_WORKTREES Пълно име за замяна на таблицата 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.

Константи в заявка към пясъчна среда

Когато заявка избере пясъчна среда, началното зареждане дефинира константи, които кодът може да чете. Най-полезните са:

Константа Стойност
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(), вместо да четете директно константите.

Началното зареждане дефинира също WP_DEBUG, WP_DEBUG_LOG, WP_DEBUG_DISPLAY, WP_TEMP_DIR, WP_CACHE_KEY_SALT и осемте ключа и соли за удостоверяване, но само онези, които wp-config.php още не е дефинирал. Вижте Регистрационни файлове за грешки и Изолиране.