Μετάβαση στο περιεχόμενο

Αυτοματοποίηση

Η αυτοματοποίηση του Rudel αποτρέπει την επ' αόριστον συσσώρευση προσωρινών sandbox. Ένα ωριαίο συμβάν WP-Cron, το rudel_scheduled_cleanup, μπορεί να:

  • εκτελεί την πολιτική εκκαθάρισης (λήξη, ηλικία και αδράνεια)
  • εκτελεί εκκαθάριση συγχωνευμένων κλάδων
  • αναφέρει sandbox που έχουν λήξει ή πλησιάζουν στη λήξη

Διαμόρφωση

Η αυτοματοποίηση διαβάζει αυτά τα κλειδιά από την επιλογή rudel_config. Η πλήρης λίστα βρίσκεται στη Διαμόρφωση.

Κλειδί Σκοπός Προεπιλογή
auto_cleanup_enabled Εκτέλεση της πολιτικής εκκαθάρισης σε κάθε συμβάν 1
auto_cleanup_merged Αφαίρεση επίσης των sandbox με συγχωνευμένους κλάδους worktree Git 0
expiring_environment_notice_days Αναφορά sandbox που λήγουν μέσα σε N ημέρες 0
max_age_days Όριο ηλικίας που χρησιμοποιεί η πολιτική εκκαθάρισης 0
max_idle_days Όριο αδράνειας που χρησιμοποιεί η πολιτική εκκαθάρισης 0
default_ttl_days Λήξη που δίνεται στα νέα sandbox 0

Με τις προεπιλεγμένες ρυθμίσεις, το συμβάν είναι προγραμματισμένο, αλλά αφαιρεί μόνο sandbox με ρητά ορισμένη λήξη στο παρελθόν, επειδή δεν έχει οριστεί όριο ηλικίας ή αδράνειας ούτε προεπιλεγμένος χρόνος ζωής (TTL).

WP-Cron

Η ενεργοποίηση προγραμματίζει το συμβάν και κάθε αίτημα ελέγχει ξανά το πρόγραμμα: το συμβάν υπάρχει όσο οποιοδήποτε από τα auto_cleanup_enabled, auto_cleanup_merged ή expiring_environment_notice_days είναι μη μηδενικό και αφαιρείται διαφορετικά. Η απενεργοποίηση το αφαιρεί.

Δεν υπάρχουν εντολές αυτοματοποίησης. Αλλάξτε τις ρυθμίσεις στο 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 εμφανίζει τα Auto cleanup, Auto cleanup merged, Expiry notice days και Automation scheduled.

Αναφορές λήξης

Όταν οριστεί το expiring_environment_notice_days, κάθε εκτέλεση συλλέγει τα sandbox με expires_at μέσα σε τόσες ημέρες και τα περνά στην ενέργεια rudel_after_automation_expiring_environments, χωρισμένα σε expiring και expired. Το Rudel δεν στέλνει ειδοποιήσεις από μόνο του· συνδέστε την ενέργεια με ειδοποίηση των κατόχων.

PHP
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'] );
        }
    }
);

Άμεση εκτέλεση

Χρησιμοποιήστε χειροκίνητη εκκαθάριση για προβλέψιμες τοπικές εκτελέσεις ή εκτελέσεις CI:

Κέλυφος
wp rudel cleanup --dry-run
wp rudel cleanup

Από το PHP, το Rudel::run_automation() εκτελεί τις ίδιες εργασίες με το συμβάν cron.