Ako si vytvoriť staging prostredie?

Ako si vytvoriť staging prostredie?

V minulom článku sme diskutovali o tom, prečo je dobré si vytvoriť staging prostredie. Teraz prišiel čas na to, aby sme si trochu zašpinili ruky a vytvorili skutočný staging. Pred tým ako začneme si poďme zhrnúť, aké sú pre staging prostredie požiadavky. 

1. Prostredie zhodné s produkciou

Uistite sa, že vaše staging prostredie používa rovnaké verzie softwéru. To znamená rovnakú verziu operačného systému, databázy, PHP, serverovej aplikácie atď. Každá aplikácia sa správa rôzne v iných verziách a dokonca aj pod iným OS. Váš WordPress, pluginy a verzia témy by mali byť rovnaké ako na stagingu, tak na produkcii. Vďaka tomu budete môcť presne otestovať a diagnostikovať produkčné chyby a debugovať ich.

Tiež je dôležité aby ste mali, na všetkých úrovniach a v oboch prostrediach, rovnaké pravidlá a nastavenia cache. To môže odhaliť napríklad problémy s cache, wp nonces pre formuláre, alebo iné problémy spojené s ukladaním do cache.

2. Neverejné prostredie

Vaše staging prostredie je určené pre súkromné účely ako debugovanie, testovanie a ukazovanie zmien klientovi. Mali by ste sa vyhnúť tomu, aby ste publikovali vaše staging prostredie pre mnoho dôvodov. Jedným z nich je duplicitný obsah pre Google, ktorý bude mať negatívny vplyv na vaše SEO. Najlepším spôsobom je použitie Basic Auth (prihlasovacieho mena a hesla), ktoré môžete jednoducho zdieľať vo svojom tíme alebo s vašim klientom, no pre botov a vonkajší svet tak vytvoríte nepreniknuteľnú bariéru.

Štandartný zdieľaný hosting

Ak máte nižší rozpočet a používate „štandartné” riešenie hostingu, vytvorenie staging prostredia je trochu zložitejšie ale nie nemožné. Mnoho poskytovateľov hostingu vám umožňuje vytvoriť druhý web na subdoméne napr. staging.example.com alebo ako podpriečinok example.com/staging. Ak na vašom dashboarde nie je možnosť „vytvoriť novú stránku”, mali by ste postupovať podľa týchto všeobecných krokov: 

  1. Zistite si, ktorý typ inštalácie je povolený (subdoména vs. podpriečinok).
  2. Vytvorte nového (S)FTP užívateľa pre prístup do koreňového adresára vašej staging webovej stránky. Zvyčajne to je niečo ako (ROOT/subdom/staging, ROOT/staging).
  3. Ak je to možné, nastavte nového používateľa databázy a novú databázu. V prípade, že produkcia aj staging zdieľajú DB, musíte sa uistiť, že stránka stagingu používa rozdielny $table_prefix.
  4. Ak používate inštaláciu subdomény, nasmerujte subdoménu na IP hosťujúceho servera. Nezabunite pre túto subdoménu vytvoriť pomocou hosting panelu SSL certifikát.
  5. Exportujte databázu z vašej produkčnej stránky. Pri tomto kroku je dôležité spustiť search-replace (hľadať-nahradiť) vo všetkých vašich databázových tabuľkách, aby ste zmenili produkčné adresy URL na stagingové. Ak je to aplikovateľné, zmeňte aj prefixy tabuliek. 
  6. Importujte databázu so zmenenými adresami URL a prefixmi.
  7. Skopírujte súbory z koreňového adresára vašej produkčnej webovej stránky.
  8. Upravte wp-config.php tak, aby zodpovedal všetkým nastaveniam (nová URL, prihlasovacie údaje do databázy, wp salts, prefixy tabuliek atď.).
  9. Skopírujte všetky súbory do koreňového adresára staging stránky. 
  10. Upravte .htaccess a .htpasswd ,aby ste aktivovali ochranu cez basic auth.
  11. Môžete navštíviť vašu novú staging stránku.

Pretože je vaša nová staging stránka na rovnakom serveri ako vaša produkcia, nebudete potrebovať žiadne ďalšie hacky týkajúce sa nastavení. Len sa uistite, že ste nastavili rovnaké časové limity a limity pre pamäť v PHP. Niektorí poskytovatelia hostingu tiež umožňujú používať na vašom stagingu inú verziu PHP/DB, čo je skvelé pre testovanie pred aktualizáciou vášho produkčného servera.

Profesionálny hosting alebo spravovaný server

Veľa profesionálnych poskytovateľov hostingu alebo poskytovateľov správy serveru vám umožňujú jednoducho si vytvoriť staging prostredie v dashboarde. Stačí vo vašom dashboarde vyhľadať v angličtine „environments” alebo „staging/testing”,  alebo sa poradiť s podporou. Prostredie stagingu je zvyčajne súčasťou vášho predplatného, takže by sa nemali účtovať žiadne ďalšie poplatky

Samostatne spravovaný server

Spravujete si svoj server sami? Skvelé! Ako prvé vylepšenie, by ste mali začať používať nástroj pre správu konfigurácie, ako je napríklad Ansible alebo Puppet. Urobte to, aj keď teraz spravujete iba jeden server. Uvidíte, ako vám to uľahčí život.

Tu v Zeni, používame Trellis, čo je zbierka Ansible playbookov pre WordPress projekty. Prichádza s prednastavenými prostrediami pre vývoj, staging, produkciu spolu s automatizovaným nasadením a nastavením. Vaše prostredia môžete mať automatizované už za pár hodín.  


Potrebujete pomoc so staging prostredím alebo riešením hostingu? Poskytujeme profesionálne hostingové riešenia s plnou automatizáciou nasadenia a verzovania, založeného na Ansible a Gitlab CI, ako aj konzultácie o tom, ako dosiahnúť to aby boli vaše projekty jednoducho manažovateľné. Napíšte nám prostredníctvom kontaktného formulára a my s vami prediskutujeme najlepšie riešenie pre váš projekt.

Zdieľajte na:

Ďalšie články:

Nenechajte si nič uniknúť!

Prihláste sa k odoberaniu Newsletteru, v ktorom zasielame najzaujímavejšie tipy pre úspešné webové stránky.

Sedem dôvodov prečo používať staging pre Váš projekt vo WordPress

Sedem dôvodov prečo používať staging pre Váš projekt vo WordPress 

alebo sedem spôsobov ako ho pokaziť bez stagingu.

Čo je staging?

Staging alebo testovacie prostredie je prostredie podobné produkčnému, v ktorom môžete testovať nové funkcie v zmysle integračného testovania a testovania užívateľskej prijateľnosti. Inak povedané, ide o 1:1 kópiu vašej živej stránky, ktorá je prístupná všetkým užívateľom. Na stagingu máte možnosť aplikovať novinky v testovacom prostredí bez toho, aby ste niečo pre vašich klientov alebo návštevníkov stránky viditeľne pokazili. 

1. Aktualizácie jadra WordPress

Samotný WordPress sa neustále vyvíja. Jeho aktualizácie sú rozdelené do dvoch skupín: major (hlavné) a minor (menšie). Tie hlavné (označované X.Y) sú plánované a vopred si môžete prečítať čo prinesú nové funkcie, naproti tomu menšie aktualizácie (označované X.Y.Z) sú väčšinou zamerané na opravu chýb alebo bezpečnostných záplat a vychádzajú viac neočakávane.Oba typy však môžu niečo pokaziť. Problémy môžu nastať so spätnou kompatibilitou tém, pluginov, vášho kódu, mazaním/aktualizáciou treťostranných knižníc, alebo sa môže zmeniť správanie Gutenberg blokov atď. Sú všetky pluginy a témy, ktoré používate pripravené pre nové vydanie jadra WordPress? Tým si nemôžete byť nikdy istý. Väčšinou však testovanie tejto skutočnosti na vašej živej stránke nie je práve najlepším nápadom. Použite staging!

2. Aktualizácie pluginov a/alebo tém

Aj keď sú hlavné aktualizácie WordPress jadra dosť predvídateľné a majú pevný rozpis, pre pluginy a témy to platí zriedka. To znamená, že s WordPress stránkou, ktorá je strednej veľkosti (z hľadiska počtu pluginov) dostanete prekvapivú aktualizáciu minimálne raz za týždeň. Mnoho platených pluginov často nemá transparentný zoznam zmien, čím sa predpovedanie potenciálnych chýb alebo konfliktov stáva takmer nemožné. Jediný spôsob, ktorým udržíte vašu internetovú stránku stabilnú je „vždy ju aktualizovať najprv na stagingu.“

3. Miesto na otestovanie toho úžasného nového pluginu

Poďme implementovať tú integráciu sociálnych médií pomocou tohto pluginu!Ale čo! Zdá sa, že to spôsobilo nefunkčnosť nahrávania obrázkov a posledných desaťtisíc článkov, ktoré boli včera v noci importované nemá úvodný obrázok. Skvelé, ďalšia noc s opravovaním. Toto by sa nestalo, keby sa tento plugin najskôr testoval na stagingu.

Keď Vám padne vaša živá stránka a Vy musíte celú noc opravovať chyby
Keď Vám padne vaša živá stránka a Vy musíte celú noc opravovať chyby

4. Miesto na testovanie aktualizácií serverových aplikácií

Takže váš web stále beží na PHP 5.6, je to tak? Vyskúšajte PHP 7.4 a zrýchlite ho! Tak si na svojom živom webe aktualizujete PHP a jediné, čo teraz môžete vidieť je kopa správ o závažných chybách spolu s 2 hodinovým výpadkom e-shopu, počas ktorých váš klient stratil niekoľko tisíc. Dobrá práca! Nevyskúšate to nabudúce najskôr cez staging? 

5. Miesto pre testovanie Vášho kódu

Bude môj kód dobre fungovať s kódom ostatných členov tímu? Nezabudnite, že Váš „tím“ nie je len vnútri vašej spoločnosti, ale tiež zahŕňa všetkých vývojárov, ktorí prispeli do akejkoľvek časti webu (WP jadro, pluginy…). Pred tým, ako presuniete Váš kód na akékoľvek iné prostredie, vždy by ste ho mali otestovať lokálne, avšak zvyčajne potrebujete aby sa na to pozrel klient, projektový manažér a testovací tím. Alebo potrebujete funkcionalitu testovať na bežných užívateľoch? V tomto prípade Vám staging uľahčí Váš život.

6. Experimentujte s CMS

„Čo ak presunieme tento widget z ľavého panelu do pätičky a zmeníme jeho názov?“ Každá väčšia zmena v CMS by mala byť najprv testovaná na stagingu. Podľa skúseností, keď klienti uvidia svoj vynikajúci nápad v praxi na webe, tak môžu veľmi rýchlo zmeniť názor.  Používate pre svoj frontend nejaký druh nástroja pre tvorbu stránok (page builder)? Ukážky (Previews) sú výbornou funkciou, ale zvyčajne musíte vidieť celý kontext vrátane menu, zmien v nastaveniach pluginov atď. V tomto prípade sa staging prostredie ukáže ako veľmi užitočné. Taktiež určite nechcete, aby Vaši návštevníci videli ako preskakujú widgety a menu položky na produkcii, že?

7. Výstavné miesto pre vášho klienta

Priniesť svoj notebook do klientovej kancelárie (vzhľadom na globálny trh a pandémiu) aby ste mu ukázali najnovšie funkcie, nie je v dnešnej dobe práve najlepším nápadom. Počuli ste niekedy o wow efekte? Prosím, nerobte to. Ukážte klientovi nové funkcie postupne na Vašom stagingu. Obaja budete o dosť lepšie spať, verte mi!

Keď nájdeme viac chýb ako naši zákazníci
Keď nájdeme viac chýb ako naši zákazníci

V nasledujúcom článku sa pozrieme na to, ako vytvoriť staging prostredie.

Pokiaľ máte záujem o vlastnú kvalitnú stránku a potrebujete pomoc, napíšte nám a radi Vám s ňou pomôžeme.

Zdieľajte na:

Ďalšie články:

Nenechajte si nič uniknúť!

Prihláste sa k odoberaniu Newsletteru, v ktorom zasielame najzaujímavejšie tipy pre úspešné webové stránky.