Configurazione
Rudel prevede due tipi di configurazione: le impostazioni memorizzate nell'opzione rudel_config WordPress e le costanti definite in wp-config.php.
L'opzione rudel_config
Le impostazioni si trovano in un unico array in wp_options, sotto rudel_config. Finché l'opzione non viene scritta, ogni chiave usa il proprio valore predefinito. Le chiavi sconosciute vengono ignorate e i valori sono memorizzati come interi.
| Chiave | Predefinito | Significato |
|---|---|---|
max_sandboxes |
0 |
Rifiuta la creazione di una sandbox quando il numero raggiunge questo valore. 0 significa nessun limite. |
max_disk_mb |
0 |
Rifiuta la creazione di una sandbox quando le sue directory raggiungono questa dimensione in megabyte. Le tabelle clonate non vengono conteggiate. 0 significa nessun limite. |
default_ttl_days |
0 |
Scadenza assegnata alle nuove sandbox create senza ttl_days o expires_at. 0 significa nessuna scadenza. |
max_age_days |
0 |
La pulizia rimuove le sandbox più vecchie di questo valore. 0 disabilita il limite di anzianità. |
max_idle_days |
0 |
La pulizia rimuove le sandbox senza attività registrata (una richiesta alla sandbox o uno snapshot) per questo intervallo. 0 disabilita il limite di inattività. |
auto_cleanup_enabled |
1 |
Applica ogni ora la regola di pulizia da WP-Cron. |
auto_cleanup_merged |
0 |
Applica anche la pulizia dei rami uniti da WP-Cron. |
expiring_environment_notice_days |
0 |
A ogni esecuzione dell'automazione, raccoglie le sandbox in scadenza entro questo numero di giorni e le passa all'azione rudel_after_automation_expiring_environments. |
auto_snapshot_before_restore |
1 |
Salva uno snapshot pre-restore-... prima di ogni ripristino. |
wp rudel status stampa i valori correnti.
Scrivete l'opzione con WP-CLI. Le chiavi omesse mantengono i valori predefiniti:
wp option update rudel_config '{"max_age_days":14,"max_idle_days":3,"auto_cleanup_merged":1}' --format=json
Oppure da PHP:
$config = new Rudel\RudelConfig();
$config->set( 'max_sandboxes', 20 );
$config->save();
L'evento WP-Cron viene pianificato o rimosso alla richiesta successiva alla modifica. Vedi Automazione.
Costanti
Definite queste costanti in wp-config.php prima della riga di bootstrap Rudel.
| Costante | Predefinito | Significato |
|---|---|---|
RUDEL_CLI_COMMAND |
rudel |
Nome del comando WP-CLI radice. |
RUDEL_ENVIRONMENTS_DIR |
wp-content/rudel-environments |
Directory che contiene le directory delle sandbox. Gli asset del tema vengono sempre serviti da /wp-content/rudel-environments/{id}/themes, quindi un'altra directory deve essere comunque raggiungibile tramite quel URL. |
RUDEL_RUNTIME_TABLE_PREFIX |
rudel_ |
Parte dei nomi delle tabelle Rudel, dopo il prefisso WordPress. Vedi Stato del runtime. |
RUDEL_RUNTIME_TABLE_ENVIRONMENTS |
Override del nome completo della tabella degli ambienti, dopo il prefisso WordPress. | |
RUDEL_RUNTIME_TABLE_WORKTREES |
Override del nome completo della tabella dei worktree, dopo il prefisso WordPress. | |
RUDEL_DB_DRIVER |
auto |
Driver per l'accesso Rudel\Connection indipendente: auto, mysqli o pdo. Le richieste WordPress usano sempre $wpdb. |
RUDEL_GIT_AUTHOR_NAME |
Rudel |
Nome dell'autore che Rudel scrive nella configurazione Git di un checkout quando manca user.name, usato per i commit wp rudel push. |
RUDEL_GIT_AUTHOR_EMAIL |
rudel@localhost |
Email dell'autore che Rudel scrive quando nel checkout manca user.email. |
Costanti all'interno di una richiesta alla sandbox
Quando una richiesta seleziona una sandbox, il bootstrap definisce costanti leggibili dal codice. Le più utili sono:
| Costante | Valore |
|---|---|
RUDEL_ID |
ID della sandbox |
RUDEL_PATH |
directory della sandbox |
RUDEL_TABLE_PREFIX |
prefisso delle tabelle della sandbox |
RUDEL_THEME_SLUG |
tema servito dalla sandbox |
RUDEL_HOST_URL, RUDEL_ENVIRONMENT_URL |
URL dell'host e della sandbox |
RUDEL_DISABLE_EMAIL |
true; la posta in uscita è bloccata |
Preferite i metodi API, come Rudel::id(), alla lettura diretta delle costanti.
Il bootstrap definisce anche WP_DEBUG, WP_DEBUG_LOG, WP_DEBUG_DISPLAY, WP_TEMP_DIR, WP_CACHE_KEY_SALT e le otto chiavi e gli otto salt di autenticazione, ma solo quelli che wp-config.php non ha già definito. Vedi Registrazione degli errori e Isolamento.