Moodul 8 · 8.3
Testkeskkond (staging): turvaline testimine
Moodul 8: Varukoopiad, testkeskkond (staging) ja PHP uuendused · Lugemisaeg: 9 minutit
Õpieesmärk: Pärast seda õppetundi oskad luua testkeskkonna (staging), seda kaitsta ja muudatusi turvaliselt oma päris saidile tagasi viia.
Põhimõisted: testkeskkond (staging), toodang (productie), kloonimine, alamdomeen, noindex, parool kaustal, e-post välja lülitatud, maksuteenuse pakkuja testrežiimis, sünkroniseerimine, andmebaasi ülekirjutamine, kohalik arenduskeskkond
Mis on testkeskkond (staging)
Testkeskkond ehk staging on sinu päris saidi koopia, omal aadressil, kus sa katsetad muudatusi. Sinu päris saiti nimetatakse siis toodanguks (productie). Testkeskkonnas tohib asi untsu minna: uus teema, suur uuendus, PHP uuendus (õppetund 8.4), uus plugin. Alles kui see toimib, viid muudatuse toodangusse üle.
Testkeskkonda kasutad riskantsete muudatuste jaoks: WordPressi või veebipoe plugina suured versiooniuuendused, teise teema kasutuselevõtt, PHP uuendus, pluginate koristamine (õppetund 5.4), ümberdisain. Tekstimuudatuse või väikese plugina uuenduse jaoks pole seda vaja.
Viisid testkeskkonna loomiseks
| Viis | Kuidas | Kellele sobib |
|---|---|---|
| Paigaldaja kloonimisfunktsioon | Installatronis "Kopeeri" koos valikuga "Create a staging site", Softaculouses "Create Staging", WP Toolkitis "Clone" | Lihtsaim viis, kui sinu sait loodi paigaldajaga |
| Majutaja testkeskkonna funktsioon | Hallatud WordPressi majutuse puhul tihti ühe nupuga | Kui su majutaja seda pakub |
| Testkeskkonna plugin | Plugin loob koopia alamkaustas või alamdomeenil | Kui sul pole paigaldajat ega majutaja funktsiooni |
| Käsitsi | Varukoopia taastamine saidi kõrvale (õppetund 8.2) ja aadresside kohandamine | Õpetlik, ja alati võimalik |
| Kohalikult oma arvutis | Kohaliku WordPressi arenduse programm või Dockeri keskkond | Arendajatele ja suurematele muudatustele |
Testkeskkond alamdomeenil (staging.example.com) on tavaliselt parem kui alamkaustas (example.com/staging): see käitub rohkem nagu su päris sait ning küpsised ja .htaccess reeglid ei lähe omavahel sassi. Loo alamdomeen kõigepealt, koos sertifikaadiga.
Kaitsmine: kolm asja, mille korraldad kohe
Sinu saidi koopia on täiemõõduline sait kogu su sisuga, ja mõnikord ka kõigi su kliendiandmetega. Korralda seetõttu kohe:
1. Otsingumootorid eemale
Ilma kaitseta võib Google su testkeskkonna üles leida ja indekseerida. Siis on sul topeltsisu ning otsijad satuvad su testsaidile. Tee vähemalt üks, soovitavalt mõlemad järgmistest:
- Parool kogu testkeskkonnale (basic authentication oma majutuspaneeli kaudu, "kaitstud kaust"). Siis ei näe keegi saiti ilma paroolita, ka otsingumootorid mitte. See on kõige tugevam.
- Otsingumootorite heidutamine menüüs Sätted > Lugemine (õppetund 2.4). See lisab igale lehele
noindex. Otsingumootorid austavad seda enamasti, kuid see on soovitus, mitte lukk.
Pööra tähelepanu vastupidisele olukorrale: kui sünkroniseerid testkeskkonna hiljem tagasi toodangusse, ära võta kaasa noindex märget. See, et päris sait "õnnestunud" sünkroniseerimise järel Google'ist kaob, on klassikaline viga. Selle õppetunni ülesanne kontrollib mõlemat.
2. Mitte mingit e-posti päris inimestele
Veebipoe või liikmesaidi koopia võib saata e-kirju: kinnitusi, meeldetuletusi, uudiskirju, paroolilinke. Kliendid saavad siis segadust tekitavaid kirju su testsaidilt. Lülita testkeskkonnas väljuv e-post välja või suuna see oma aadressile (e-kirjade kinnipüüdmise pluginaga, või lülitades testkeskkonnas välja SMTP plugina, õppetund 9.1). Lülita välja ka plaanitud ülesanded, mis saadavad e-kirju.
3. Maksed ja ühendused testrežiimis
Veebipood testkeskkonnas peaks töötama maksuteenuse pakkuja testrežiimiga, mitte päris maksetega. Teised ühendused (raamatupidamine, laoseis, CRM) lülita välja või suuna need testkeskkonda, muidu käsitlevad need testtellimusi päristellimustena.
Kui kasutad testkeskkonnas päris kliendiandmeid, kehtib ka seal isikuandmete kaitse üldmäärus (GDPR) samamoodi (õppetund 9.3): ära säilita andmeid kauem kui vajalik ning kustuta testkeskkond, kui oled valmis.
Tagasi toodangusse: andmebaasi lõks
Kõige keerulisem samm on su muudatuste tagasiviimine toodangusse. Paigaldajatel ja testkeskkonna pluginatel on selleks funktsioon (Installatronis "Synch", teistel "Push to live"). Risk:
- Loote esmaspäeval testkeskkonna. Teisipäevast neljapäevani katsetate uut teemat.
- Samal ajal lisandub toodangusse kakskümmend tellimust, kolm uut postitust ja viiskümmend kommentaari.
- Reedel sünkroniseerite testkeskkonna andmebaasi toodangusse. Testkeskkonna andmebaas on esmaspäevane: teisipäevast reedeni lisandunud tellimused, postitused ja kommentaarid on kadunud.
Seetõttu:
- Tee enne toodangust varukoopia (õppetund 8.1), vahetult enne sünkroniseerimist.
- Sünkroniseeri ainult seda, mis on vajalik. Teema või plugina uuendamine on failide küsimus; andmebaasi pole siis tihti vaja kaasa võtta. Paljud sünkroniseerimisfunktsioonid lasevad valida: ainult failid, või ainult teatud tabelid.
- Veebipoe või tiheda liiklusega saidi puhul: tee muudatus pigem uuesti otse toodangusse (samad sammud, mis testkeskkonnas, kuna tead juba, et need toimivad), selle asemel et andmebaasi üle kanda. Või planeeri rahulik hetk poe lühikese seisakuga.
- Kontrolli pärast seda toodangut: õppetunni 8.2 kontrollnimekirja järgi, ja noindex märget.
Testkeskkond on koht, kus õppida, mis juhtub. Muudatuse ise on kõige turvalisem toodangusse uuesti otse teha.
Koristamine
Testkeskkond, mis jääb kuudeks alles, muutub unustatud saidiks: uuendamata, vanade pluginatega, päris andmetega. Täpselt see nõrk koht, millest räägiti õppetunnis 7.1. Kustuta testkeskkond, kui oled valmis, või hoia seda täisväärtusliku saidina (uuendused, parool). Kloon võtab enda alla sama palju ruumi kui originaal ja omab eraldi andmebaasi.
Kokkuvõte
- Testkeskkond (staging) on su saidi koopia omal aadressil, kus testida riskantseid muudatusi.
- Loo see oma paigaldaja, majutaja, plugina või käsitsi abil, soovitavalt alamdomeenil koos sertifikaadiga.
- Kaitse see kohe: parool ja/või noindex, mitte mingit e-posti päris inimestele, maksed testrežiimis.
- Ära sünkroniseeri pimesi tagasi: testkeskkonna andmebaas kirjutab üle kõik, mis toodangusse vahepeal lisandus. Tee kõigepealt varukoopia, sünkroniseeri ainult vajalik, või tee muudatus uuesti.
- Kustuta testkeskkond, kui oled valmis, ja ära võta noindex märget kaasa toodangusse.
Test
Ülesanne
Ülesanne A8.3: Kas su testkeskkond on kaitstud? Sisesta oma testkeskkonna aadress (sinu enda domeeni alamdomeen, näiteks ülesandest D8.2) ja oma päris saidi aadress. Tõenda ülesande koodiga, et domeen kuulub sulle. Programm kontrollib testkeskkonnas: kas see vastab https kaudu ja kas see on kaitstud (parooliküsimus, või noindex HTML-is või X-Robots-Tag päises)? Kas REST viide (wp-json) osutab testkeskkonnale endale, mitte su päris saidile? Ja kas su päris saidil ei ole noindex märget?
Lisalugemist
Need artiklid kirjeldavad samme WebOké paneelides; teistes paneelides toimivad need sarnaselt.
