Rudel
Pyyntökohtaisesti valittavat WordPress-kerrosympäristöt hiekkalaatikoille.
composer require rudel/rudelUusin julkaisu v0.10.0 GPL-2.0-or-later WordPress 6.4+, PHP 8.2+
wp rudel create \
--name=feature-a \
--owner=dennis \
--labels=agent,qa \
--purpose="Test checkout changes" \
--ttl-days=7Käytännössä
Luo hiekkalaatikko isäntäsivustosta ja ohjaa sitten WP-CLI tai HTTP-pyyntö siihen.
Luo hiekkalaatikko ja ohjaa pyyntö siihen
wp rudel create kloonaa isännän taulut uuden etuliitteen alle, kopioi teeman hiekkalaatikon hakemistoon ja tulostaa hiekkalaatikon tunnuksen.
Anna tunnus komennolla RUDEL_ENVIRONMENT WP-CLI-toimintoa varten tai X-Rudel-Environment-otsakkeessa tai rudel_environment-evästeessä HTTP-käyttöä varten. PHP API luo saman hiekkalaatikon elinkaaren metatietoineen.
wp rudel create --name=alpha --theme=twentytwentyfour
RUDEL_ENVIRONMENT=alpha-1234 wp option get siteurl
curl -H 'X-Rudel-Environment: alpha-1234' http://localhost:8000/$sandbox = Rudel::create( 'alpha', [
'theme' => 'twentytwentyfour',
'owner' => 'dennis',
'labels' => [ 'qa', 'agent' ],
'ttl_days' => 7,
] );Hiekkalaatikot
Kertakäyttöiset kerrosympäristöt kehitykseen, testaukseen ja tekoälyagenteille.
Pyyntövalinta
Ohjaa pyyntö hiekkalaatikkoon tunnisteella X-Rudel-Environment otsakkeessa, rudel_environment-evästeellä tai WP-CLI:n RUDEL_ENVIRONMENT-arvolla. Valinta tehdään pelkän hiekkalaatikon tunnuksen perusteella, ilman todennusta.
Kerrosajoympäristö
Aktivointi lisää käynnistysrivin tiedostoon wp-config.php. Tämän jälkeen kukin hiekkalaatikko saa kloonatut taulut omalla etuliitteellään ja kopion aktiivisesta teemasta; WordPress-ydin, lisäosatiedostot ja lataukset pysyvät jaettuina.
Git-työpuut
Sisäänrakennetut PHP-natiivit Git-kloonaus-, lähetys- ja työpuutyönkulut ilman isännän git-suoritustiedoston tarvetta.
Tilannevedokset
Nimetyt palautuspisteet kopioivat hiekkalaatikon taulut ja hallitut teematiedostot. Luo ja palauta ne komennolla WP-CLI tai PHP.
Pyyntökohtainen eristys
Pyyntökohtaiset taulujen etuliitteet, teemojen juurihakemistot, väliaikaishakemisto, objektivälimuistin avainsuola ja sähköpostin esto.
WP-CLI & PHP API
wp rudel -komennot ja Rudel\Rudel-staattiset metodit luovat, luettelevat, päivittävät, ottavat tilannevedoksia hiekkalaatikoista, palauttavat ne ja tuhoavat ne.
Valmis agenteille
Tarjoaa koodausagenteille kertakäyttöisen WordPress-kopion, jossa WP-CLI rajataan RUDEL_ENVIRONMENT-muuttujalla ja lähtevät sähköpostit estetään.
Miksi Rudel
Yksi asennus, monta hiekkalaatikkoa
Rudel toimii tavallisessa WordPress-asennuksessa ilman multisiteä tai toista WordPress-asennusta. Isäntäsivusto palvelee omia tietojaan jokaiselle pyynnölle, jossa ei määritetä hiekkalaatikkoa.
Kopioi taulut ja yksi teema
Hiekkalaatikko saa kopion isännän tauluista käyttäjineen oman etuliitteensä alle sekä kopion aktiivisesta teemasta ja lapsiteeman tapauksessa myös sen emoteemasta. WordPress-ydin, lisäosatiedostot ja lataukset pysyvät isännällä.
Vanhenevat hiekkalaatikot
Määritä hiekkalaatikolle omistaja, tunnisteet, käyttötarkoitus ja voimassaoloaika päivinä. Tunnittainen WP-Cron-työ poistaa vanhentuneet hiekkalaatikot ja ohittaa suojatuiksi merkityt.
Turvallinen esikatsella
Hiekkalaatikkopyynnöt estävät lähtevät sähköpostit ja kirjaavat jokaisen estetyn viestin. Jos wp-config.php ei aseta omaa suolaa, objektivälimuistin avainsuola johdetaan hiekkalaatikon tunnuksesta, joten pysyvä välimuisti pitää isännän ja hiekkalaatikon avaimet erillään.
Vertailu
Rudel toimii jo käytössäsi olevalla sivustolla. Nämä työkalut kattavat rinnakkaisia tarpeita.
| Työkalu | Sopii hyvin | Ero kohteeseen Rudel |
|---|---|---|
| WordPress Multisite | Sopii hyvinKäyttää virtuaalisivustojen verkkoa yhdellä ytimen tiedostojoukolla ja jaetuilla lisäosilla ja teemoilla; kullakin sivustolla on erilliset tietokantataulut ja lataushakemistot. | Ero kohteeseen RudelRudel ei tarvitse multisiteä. Hiekkalaatikko on kopio olemassa olevan sivuston tauluista ja aktiivisesta teemasta, ja se valitaan pyyntökohtaisesti otsakkeella, evästeellä tai WP-CLI-ympäristömuuttujalla. |
| wp-env | Sopii hyvinLuo paikallisen WordPress-sivuston, jossa on Docker, lisäosien ja teemojen kehitystä ja testausta varten ilman lisämäärityksiä. | Ero kohteeseen RudelRudel ei vaadi toista WordPress-asennusta. Se luo hiekkalaatikot käytössäsi olevan sivuston sisällöstä, ja niiden taulut ovat samassa MySQL-tietokannassa kuin isäntä. Hiekkalaatikko ei saa omaa PHP-ajoympäristöä eikä tietokantapalvelinta. |
| WordPress Playground | Sopii hyvinSuorittaa WordPress-asiakaspuolella WebAssemblylla ilman taustapalvelinta, eristettynä selaimeen eikä aiheuta sen ulkopuolella pysyviä sivuvaikutuksia. | Ero kohteeseen RudelRudel toimii palvelimella aidon sivuston ja sen MySQL-tietokannan rinnalla. Hiekkalaatikko perustuu kyseisen sivuston nykyiseen sisältöön, ja siihen pääsee WP-CLI-sovelluksesta sekä mistä tahansa HTTP-asiakkaasta. |
Kysymykset ja vastaukset
Lyhyet vastaukset Rudel-dokumentaatiosta.
WordPress-ydin, lisäosatiedostot ja ladattu media. Kukin hiekkalaatikko saa omat kopionsa tietokantatauluista käyttäjineen, luodun etuliitteen alle, sekä kopion aktiivisesta teemasta.
Lähetä X-Rudel-Environment-otsake tai rudel_environment-eväste HTTP-pyynnön mukana tai aseta RUDEL_ENVIRONMENT WP-CLI-käyttöä varten. Rudel hyväksyy tunnuksen miltä tahansa asiakkaalta, joten valinta ei ole pääsynvalvontaa.
Ei. Hiekkalaatikon sisäiset pyynnöt estävät lähtevät sähköpostit pre_wp_mail-suodattimella ja kirjaavat jokaisen estetyn viestin vastaanottajan ja aiheen.
Isännän tietokannan kahdessa taulussa: wp_rudel_environments ja wp_rudel_worktrees oletusetuliitteellä. Ajonaikaista JSON-määritystä tai SQLite-varastoa ei ole.
Aktivointi luo ajonaikaiset taulut, lisää käynnistysrivin tiedostoon wp-config.php ja ajoittaa siivoustapahtuman, joten WordPress tarvitsee tuolloin kirjoitusoikeuden kohteeseen wp-config.php. Käytöstä poistaminen poistaa rivin.
Kyllä. wp rudel snapshot tallentaa hiekkalaatikon taulut ja teematiedostot nimellä, ja wp rudel restore --snapshot palauttaa ne.
Asenna lisäosa, luo hiekkalaatikko omasta sivustostasi ja lähetä ensimmäinen pyyntösi sinne aloitusoppaan avulla.