
# Luominen

## Luo isännästä

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

Rudel luo nimestä ja neljästä heksamerkistä muodostuvan tunnuksen (esimerkiksi `alpha-3be7`), kloonaa isännän WordPress-taulut luotuun taulujen etuliitteeseen, kopioi valitun teeman eristysympäristön hakemistoon ja tallentaa eristysympäristön tiedot isännän WordPress-tietokantaan. Eristysympäristön `siteurl` ja `home` säilyttävät isännän arvon URL.

Jos `--theme` jätetään pois, Rudel käyttää isäntäsivuston aktiivista teemaa. Teeman on oltava asennettuna isännälle. Alateeman mukana tuodaan myös sen yläteema.

Kaikki isännän taulujen etuliitettä käyttävät taulut kopioidaan, mukaan lukien `users` ja `usermeta`, paitsi Rudel omat taulut. Nykyisessä julkaisussa tähän sisältyvät myös jo olemassa olevien eristysympäristöjen taulut, joten jokainen uusi eristysympäristö on edellistä suurempi. Katso [ongelma #3](https://github.com/inline0/rudel/issues/3).

## Luo toisesta eristysympäristöstä

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

Uusi eristysympäristö saa kopion kaikista lähdeympäristön etuliitettä käyttävistä tauluista, mukaan lukien lähteen tilannevedostaulut, sekä sen teeman. Tilannevedoshakemistoja ei kopioida, joten kyseiset taulut jäävät uudessa eristysympäristössä käyttämättömiksi ([ongelma #12](https://github.com/inline0/rudel/issues/12)). Kun lähteen teeman hakemisto on Git-tietovarasto, Rudel luo linkitetyn työpuun haaralle `rudel/{new-id}` tavallisen kopion sijaan. Lähteen tunnus tallennetaan uuteen tietueeseen.

## Elinkaaren metatiedot

Eristysympäristöihin voidaan liittää siivoukseen ja omistajuuteen liittyviä metatietoja:

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

Käytä arvoa `--protected`, kun automaattinen siivous ei saa poistaa eristysympäristöä. Katso [Käytäntö](https://rudel.inline0.dev/fi/docs/features/policy).

## Rajat

Luonti epäonnistuu, kun asetus `max_sandboxes` tai `max_disk_mb` saavuttaa rajansa. Molempien oletusarvo on `0`, mikä tarkoittaa, ettei rajaa ole. Katso [Määritykset](https://rudel.inline0.dev/fi/docs/configuration).

## Git-checkoutit

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

Rudel luo eristysympäristön, kloonaa etätietovaraston hakemistoon `themes/my-theme` eristysympäristön sisälle ja vaihtaa checkoutin haaralle `rudel/{id}`. Lisää `--type=plugin` kloonataksesi kohteeseen `plugins/my-theme`. Epäonnistunut kloonaus jättää eristysympäristön paikalleen ja tulostaa varoituksen. Katso kohdasta [Git](https://rudel.inline0.dev/fi/docs/features/git), mitä eristysympäristö tarjoaa kyseisestä checkoutista.

## Hakemistorakenne

```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
```
