
# Δημιουργία

## Δημιουργία από τον κεντρικό υπολογιστή

```bash
wp rudel create --name=alpha --theme=twentytwentyfour
```

Το Rudel δημιουργεί ένα ID από το όνομα συν τέσσερις δεκαεξαδικούς χαρακτήρες (για παράδειγμα `alpha-3be7`), κλωνοποιεί τους πίνακες WordPress του κεντρικού υπολογιστή σε ένα παραγόμενο πρόθεμα πινάκων, αντιγράφει το επιλεγμένο θέμα στον κατάλογο sandbox και καταγράφει το sandbox στη βάση δεδομένων WordPress του κεντρικού υπολογιστή. Τα `siteurl` και `home` του sandbox διατηρούν το URL του κεντρικού υπολογιστή.

Αν παραλειφθεί το `--theme`, το Rudel χρησιμοποιεί το ενεργό θέμα του ιστότοπου του κεντρικού υπολογιστή. Το θέμα πρέπει να είναι εγκατεστημένο στον κεντρικό υπολογιστή. Ένα θυγατρικό θέμα συνοδεύεται από το γονικό του θέμα.

Αντιγράφεται κάθε πίνακας με το πρόθεμα πινάκων του κεντρικού υπολογιστή, συμπεριλαμβανομένων των `users` και `usermeta`, εκτός από τους ίδιους τους πίνακες του Rudel. Στην τρέχουσα έκδοση περιλαμβάνονται και οι πίνακες των sandbox που υπάρχουν ήδη, οπότε κάθε νέο sandbox είναι μεγαλύτερο από το προηγούμενο. Δείτε το [ζήτημα #3](https://github.com/inline0/rudel/issues/3).

## Δημιουργία από άλλο sandbox

```bash
wp rudel create --name=feature-b --clone-from=alpha-3be7
```

Το νέο sandbox λαμβάνει αντίγραφο κάθε πίνακα με το πρόθεμα του sandbox προέλευσης, συμπεριλαμβανομένων των πινάκων στιγμιότυπων του, καθώς και του θέματός του. Οι κατάλογοι στιγμιότυπων δεν αντιγράφονται, επομένως αυτοί οι πίνακες δεν χρησιμοποιούνται στο νέο sandbox ([ζήτημα #12](https://github.com/inline0/rudel/issues/12)). Όταν ο κατάλογος θέματος προέλευσης είναι αποθετήριο Git, το Rudel δημιουργεί συνδεδεμένο worktree στον κλάδο `rudel/{new-id}` αντί για απλό αντίγραφο. Το ID προέλευσης καταγράφεται στη νέα εγγραφή.

## Μεταδεδομένα κύκλου ζωής

Τα sandbox μπορούν να έχουν μεταδεδομένα για την εκκαθάριση και την ιδιοκτησία:

```bash
wp rudel create \
  --name=feature-a \
  --owner=dennis \
  --labels=agent,qa \
  --purpose="Test checkout changes" \
  --ttl-days=7
```

Χρησιμοποιήστε το `--protected` όταν η αυτοματοποιημένη εκκαθάριση δεν πρέπει να αφαιρεί το sandbox. Δείτε την [Πολιτική](https://rudel.inline0.dev/el/docs/features/policy).

## Όρια

Η δημιουργία αποτυγχάνει όταν συμπληρωθούν οι ρυθμίσεις `max_sandboxes` ή `max_disk_mb`. Και οι δύο έχουν προεπιλεγμένη τιμή `0`, που σημαίνει ότι δεν υπάρχει όριο. Δείτε τη [Διαμόρφωση](https://rudel.inline0.dev/el/docs/configuration).

## Checkouts Git

```bash
wp rudel create --name=feature-a --git=https://example.test/my-theme.git
```

Το Rudel δημιουργεί το sandbox, κλωνοποιεί το απομακρυσμένο αποθετήριο στο `themes/my-theme` μέσα στον κατάλογο sandbox και αλλάζει το checkout στον κλάδο `rudel/{id}`. Προσθέστε το `--type=plugin` για να γίνει η κλωνοποίηση στο `plugins/my-theme`. Αν η κλωνοποίηση αποτύχει, το sandbox παραμένει και εμφανίζεται προειδοποίηση. Δείτε το [Git](https://rudel.inline0.dev/el/docs/features/git) για να μάθετε τι προβάλλει το sandbox από αυτό το checkout.

## Διάταξη καταλόγων

```text
wp-content/rudel-environments/{id}/
  themes/       copied theme, plus any Git checkout
  snapshots/    snapshot metadata and theme copies
  logs/ metadata/ tmp/
  wp-cli.yml
  debug.log     when debug logging is active
```
