Άγκιστρα
Το Rudel ενεργοποιεί ενέργειες και φίλτρα WordPress γύρω από συμβάντα του κύκλου ζωής των sandbox. Ο παρακάτω κατάλογος είναι αυτός που επιστρέφει το Rudel::hooks(): 28 ενέργειες και 5 φίλτρα.
Παράδειγμα
add_action(
'rudel_after_environment_create',
function ( \Rudel\Environment $environment, array $context ): void {
error_log( 'Created Rudel environment ' . $environment->id );
},
10,
2
);
Οι περισσότερες ενέργειες before και failed λαμβάνουν έναν πίνακα $context. Στα hooks του κύκλου ζωής των sandbox περιέχει το environment (ή τα name, options και environments_dir κατά τη δημιουργία)· οι ενέργειες failed λαμβάνουν επίσης το σφάλμα που εντοπίστηκε ως Throwable, μέσω του $error.
Ενέργειες κύκλου ζωής sandbox
| Ενέργεια | Ορίσματα |
|---|---|
rudel_before_environment_create |
$context |
rudel_after_environment_create |
$environment, $context |
rudel_environment_create_failed |
$context, $error |
rudel_before_environment_update |
$context |
rudel_after_environment_update |
$environment, $context |
rudel_environment_update_failed |
$context, $error |
rudel_before_environment_destroy |
$context |
rudel_after_environment_destroy |
$context |
rudel_environment_destroy_failed |
$context, $error |
rudel_before_environment_replace_state |
$context |
rudel_after_environment_replace_state |
$result, $context |
rudel_environment_replace_state_failed |
$context, $error |
Οι τρεις ενέργειες replace_state ανήκουν στο EnvironmentManager::replace_environment_state(), το οποίο δεν καλείται από καμία εντολή Rudel.
Ενέργειες snapshot
| Ενέργεια | Ορίσματα |
|---|---|
rudel_before_recovery_point_create |
$context |
rudel_after_recovery_point_create |
$context, $meta |
rudel_before_recovery_point_restore |
$context |
rudel_after_recovery_point_restore |
$context |
rudel_before_recovery_point_delete |
$context |
rudel_after_recovery_point_delete |
$context |
Το $context περιλαμβάνει τα environment, kind (snapshot), name και path. Καθένα από αυτά ενεργοποιείται και με ένα ψευδώνυμο snapshot, για παράδειγμα το rudel_after_snapshot_create, ενώ οι αποτυχίες ενεργοποιούν τα rudel_failed_recovery_point_{create|restore|delete} και rudel_failed_snapshot_{create|restore|delete} με το $context και το σφάλμα. Αυτά τα ψευδώνυμα δεν περιλαμβάνονται στον κατάλογο.
Ενέργειες εκκαθάρισης
| Ενέργεια | Ορίσματα |
|---|---|
rudel_before_environment_cleanup |
$options |
rudel_after_environment_cleanup |
$result, $options |
rudel_before_environment_cleanup_merged |
$options |
rudel_after_environment_cleanup_merged |
$result, $options |
Το $result περιλαμβάνει τα removed, skipped, errors και reasons.
Ενέργειες αποστολής Git
| Ενέργεια | Ορίσματα |
|---|---|
rudel_before_environment_push |
$context |
rudel_after_environment_push |
$sha, $context |
rudel_environment_push_failed |
$context, $error |
Αυτά ενεργοποιούνται για το Rudel::push(). Το $context περιλαμβάνει τα environment, remote, message και subdir. Η εντολή wp rudel push κάνει απευθείας την αποστολή και δεν τα ενεργοποιεί.
Ενέργειες αυτοματοποίησης
| Ενέργεια | Ορίσματα |
|---|---|
rudel_before_automation_cleanup |
$config |
rudel_after_automation_cleanup |
$result, $config |
rudel_after_automation_expiring_environments |
$result, $config |
Το $config είναι ο πλήρης πίνακας rudel_config. Δείτε την ενότητα Αυτοματοποίηση.
Φίλτρα
| Φίλτρο | Ορίσματα |
|---|---|
rudel_environment_create_options |
$options, $name, $manager |
rudel_environment_clone_source |
$clone_source, $host_url, $db_cloned, $themes_cloned, $plugins_cloned, $uploads_cloned, $extra |
rudel_environment_cleanup_options |
$options, $repository |
rudel_environment_cleanup_merged_options |
$options, $repository |
rudel_environment_db_dropin_contents |
$contents, $context |
Το rudel_environment_create_options μπορεί να αλλάξει τις επιλογές οποιασδήποτε κλήσης δημιουργίας πριν ενεργήσει σε αυτές το Rudel. Το rudel_environment_clone_source φιλτράρει τα μεταδεδομένα κλωνοποίησης που αποθηκεύονται σε ένα sandbox που δημιουργήθηκε από τον host. Το rudel_environment_db_dropin_contents εφαρμόζεται μόνο στο drop-in db.php που χρησιμοποιούν τα περιβάλλοντα multisite-subsite· τα overlay sandboxes, τα οποία είναι ο μόνος τύπος που δημιουργούν οι τρέχουσες εκδόσεις, δεν δημιουργούν ποτέ τέτοιο αρχείο.
Τα φίλτρα προορίζονται για προσαρμογή της πολιτικής, όχι για αντικατάσταση του μοντέλου αποθήκευσης του Rudel. Η ταυτότητα κατά τον χρόνο εκτέλεσης, τα προθέματα πινάκων και τα μεταδεδομένα worktree παραμένουν κατάσταση Rudel που βασίζεται στη βάση δεδομένων.