Serwer staging to środowisko testowe, które zazwyczaj jest kopią lustrzaną produkcyjnego. Jako specjaliści od Magento, przeprowadzamy na nim testy obciążeniowe i inne testy wprowadzanych nowych wersji rozwiązań e-commerce. Po pomyślnym przejściu weryfikacji, zmiany publikowane są na serwerze produkcyjnym.
Oto, w jaki sposób pracujemy z serwerem testowym:
- Konfiguracja serwera: Identyczna jak na serwerze produkcyjnym.
- Subdomena: Domeną testową Ageno jest *.ageno.work, na jej podstawie tworzymy subdomeny. Przykład: minicrm.ageno.work
- Zabezpieczenie serwera: Zabezpieczyć dostęp poprzez Htpasswd, w niektórych przypadkach dodać regułę do Nginx umożliwiającą dostęp tylko naszym adresom IP.
- Baza danych: Skopiować bazę danych z serwera produkcyjnego, pomijając dane osobowe Klientów.
- Pliki statyczne: Skopiować pliki statyczne z serwera produkcyjnego, aby umożliwić realne testy.
- Weryfikacja: Weryfikować iteracyjnie wpływ zmian w aplikacji na wydajność całego rozwiązania. (W zależności od projektu: New Relic, Jmeter, htop, iotop, collectd.) Weryfikacja powinna opierać się na liczbach, a nie subiektywnych odczuciach.
- Wyłączenie zewnętrznych serwisów: Wyłączyć wszelkie narzędzia typu: Google Analytics, serwisy remarketingowe, e-mail marketingowe, zewnętrzne API, systemy księgowe, ERP, CRM itp. tak, aby nie zaburzyć testami danych w rozwiązaniach zewnętrznych.
- Wyłączenie CRON: Wyłączyć wszelki operacje automatyczne.
- Testowy adres e-mail: Zaimplementować testowy adres e-mail (MailCatcher).
- Blokada robotów wyszukiwarek: Zablokować wszelki ruch i indeksowanie wyszukiwarek (noindex, nofollow).
User-agent: *
Disallow: / - Deployment: Deploy na serwer staging jest realizowany z gałęzi develop w repozytorium Git.
A dlaczego w ogóle potrzebujemy serwer staging? Tłumaczymy na przykładzie case’u mBanku.