Nejpodstatnější částí aktualizace je důkladný testing, který vývojářům zabral dvě třetiny z celkového součtu hodin. Část kódu je pokrytá různými formami automatizovaných testů, ale ty nejsou 100% zárukou, že projekt i jako celek funguje správně, proto je vždy nutné testovat i ručně.
“Proklikali jsme úplně každou stránku na webu i v CMS, zkoušeli jsme různé procesy na pozadí, stránky, na kterých se něco generuje, zkoušeli jsme to v průběhu vývoje, pak jsme to samé testovali s testery znovu a znovu dokola na preview, dokud už jsme nenacházeli žádné chyby. Při pravidelném release se takto důkladně netestuje,” popisuje Filip.
Finální stav pak backend developeři připravili na stagingu a tam se testovalo znovu. Kromě testerů tam testoval už i klient. To trvalo delší dobu, mezitím vývojáři dělali pravidelné releasy a na stagingu museli přepínat verze PHP. Díky opakovanému testování a přípravám na release měli všechno tak důkladně připravené, že během nasazení dokonce nedošlo k žádnému výpadku.
DevOps, složenina slov Developers a Operations, označuje ty, kteří pečují o komunikaci mezi vývojáři, servery a sítěmi. V SiteOne mezi ně patří kolega Petr Kubečka, který připravil nové PHP na vývojové i testovací prostředí, aby až do nasazení nebylo nic potřeba. Po nasazení trvale promítl novou verzi PHP i do produkce a na všechna náhledová prostředí.
“Po přepnutí jsme museli důkladněji sledovat grafy a metriky, jestli se něco nezhoršilo a do monitoringu nepadají chyby. Jinak nám vyhodnocení metrik chodí každý den v reportu z monitoringu. Jsou tam různé oblasti jako frontend, backend nebo třeba stav serveru. Úspěch aktualizace jsme pak pozorovali z výsledků pár minut starých a sledovali, jestli na grafech nedošlo k nějakým pohybům,” říká Filip. “Byli jsme připravení nasadit pro případ výpadku po dobu releasu údržbovou stránku, než se web zase spustí. Nasazení bylo připravené a proběhlo bez jakéhokoliv výpadu, takže jsme ji nakonec ani nepotřebovali."
Aktualizace byla napínavá do posledních okamžiků. Po nasazení sice web Blue Style nespadl, ale výkon se namísto zlepšení zhoršil. Zjistili, že je problém v “opcache”, protože je v nové verzi PHP špatně nastavená, respektive vypnutá. “Konfigurace byla sice v obou verzích stejná, ale v PHP 8 to nefungovalo. Petr vyzkoumal, jak to správně nastavit, přepnul konfiguraci, grafy zase klesly a všechno běželo, jak mělo,” popisuje Filip.