Oto, w jaki sposób pracujemy z serwerem testowym:

  1. Konfiguracja serwera: Identyczna jak na serwerze produkcyjnym.
  2. Subdomena: Domeną testową Ageno jest *.ageno.work, na jej podstawie tworzymy subdomeny. Przykład: minicrm.ageno.work
  3. Zabezpieczenie serwera: Zabezpieczyć dostęp poprzez Htpasswd, w niektórych przypadkach dodać regułę do Nginx umożliwiającą dostęp tylko naszym adresom IP.
  4. Baza danych: Skopiować bazę danych z serwera produkcyjnego, pomijając dane osobowe Klientów.
  5. Pliki statyczne: Skopiować pliki statyczne z serwera produkcyjnego, aby umożliwić realne testy.
  6. 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.
  7. 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.
  8. Wyłączenie CRON: Wyłączyć wszelki operacje automatyczne.
  9. Testowy adres e-mail: Zaimplementować testowy adres e-mail (MailCatcher).
  10. Blokada robotów wyszukiwarek: Zablokować wszelki ruch i indeksowanie wyszukiwarek (noindex, nofollow).
    User-agent: *
    Disallow: /
  11. Deployment: Deploy na serwer staging jest realizowany z gałęzi develop w repozytorium Git.

Dlaczego potrzebujemy serwer staging? – w tym artykule wyjaśniamy to na przykładzie case’u mBanku.