Automatizace
Automatizace Rudel brání neustálému hromadění dočasných sandboxů. Jedna hodinová událost WP-Cron, rudel_scheduled_cleanup, může:
- spustit zásady úklidu (končící platnost, stáří a nečinnost)
- spustit úklid větví sloučených do hlavní větve
- nahlásit sandboxy, jejichž platnost skončila nebo brzy skončí
Konfigurace
Automatizace načítá tyto klíče z volby rudel_config. Úplný seznam najdete v části Konfigurace.
| Klíč | Účel | Výchozí hodnota |
|---|---|---|
auto_cleanup_enabled |
Spustí zásady úklidu při každé události | 1 |
auto_cleanup_merged |
Navíc odstraní sandboxy s propojenými pracovními větvemi Git, které byly sloučeny | 0 |
expiring_environment_notice_days |
Nahlásí sandboxy, jejichž platnost skončí během N dní | 0 |
max_age_days |
Limit stáří používaný zásadami úklidu | 0 |
max_idle_days |
Limit nečinnosti používaný zásadami úklidu | 0 |
default_ttl_days |
Doba platnosti přidělená novým sandboxům | 0 |
Při výchozím nastavení je událost naplánována, ale odstraní pouze sandboxy s výslovně nastavenou dobou platnosti v minulosti, protože není nastaven limit stáří ani nečinnosti ani výchozí TTL.
WP-Cron
Aktivace naplánuje událost a každý požadavek její plán znovu ověří: událost existuje, pokud je některá z hodnot auto_cleanup_enabled, auto_cleanup_merged nebo expiring_environment_notice_days nenulová; jinak se odstraní. Deaktivace ji odstraní.
Příkazy pro automatizaci nejsou k dispozici. Změňte nastavení v rudel_config:
wp option update rudel_config '{"auto_cleanup_enabled":1,"max_idle_days":7,"expiring_environment_notice_days":2}' --format=json
wp rudel status
wp rudel status zobrazuje Auto cleanup, Auto cleanup merged, Expiry notice days a Automation scheduled.
Hlášení o končící platnosti
Je-li nastavena hodnota expiring_environment_notice_days, každé spuštění shromáždí sandboxy, jejichž expires_at nastane během daného počtu dní, a předá je akci rudel_after_automation_expiring_environments rozdělené na expiring a expired. Rudel samo oznámení neodesílá; napojte na tuto akci upozornění vlastníků.
add_action(
'rudel_after_automation_expiring_environments',
function ( array $report ): void {
foreach ( $report['expiring'] as $sandbox ) {
error_log( $sandbox['id'] . ' expires at ' . $sandbox['expires_at'] );
}
}
);
Okamžité spuštění
Pro předvídatelná místní spuštění nebo běhy CI použijte ruční úklid:
wp rudel cleanup --dry-run
wp rudel cleanup
Z PHP spustí Rudel::run_automation() stejné úlohy jako událost cron.