Symfony – optymalizacja local dev i CI

Nie ma nic gorszego niż długi czas oczekiwania na testy i budowanie środowiska czy to przy lokalnym developmencie, czy też w CI – w naszym przypadku jest to Gitlab. Oto kilka podstawowych tricków, które pomogą Wam te procesy usprawnić.

  1. Security – hashowanie haseł w środowisku test

    Wykorzystując poniższy trick wszystkie hasła użytkowników nie będą hashowane co w naszym przypadku, przy dużej ilości testów integracyjnych, powoduje przyspieszenie ich wykonania nawet o 30%
    W pliku config/packages/test/security.yaml dodajemy:

    
    
  2. Konfiguracja opcache

    Nie zapominajmy o odpowiedniej konfiguracji opcache również pod testy i local dev. Dodanie poniższych wpisów do php.ini może przyspieszyć testy o kolejne 10%.

    
    
  3. Optymalizacja docker-compose dla local dev / CI

    Niektóre serwisy nie są w ogóle wykorzystywane w środowisku dev lub w CI – przykładem może być nginx (CI) lub rabbitmq (messenger ustawiony na async). Usunięcie ich z docker-compose.yml-gitlab-ci przyspieszyło nasze testy o kolejne 20%. Pilnujcie aby setup serwisów pod CI był minimalny.

    Ostatnim trickiem, którym chcemy się z Wami dzisiaj podzielić jest optymalizacja bazy danych (w naszym przypadku mysql). Nie polecamy tego do local dev (każdy reboot stacji roboczej resetuje bazę!), ale w CI baza danych może być trzymana jedynie w pamięci, co znacznie przyspiesza tworzenie schematu, wgrywanie fixtures-ów a czasem nawet same testy. W docker-compose wystarczy dodać:

    
    

Życzymy Wam owocnych optymalizacji.

A może podzielicie się efektami Waszych optymalizacji? Zapraszamy do dyskusji poniżej.

Poprzedni post
31.05.2021
branżowe

Jak żyć w e-commerce ? – Debata live

Następny post
05.07.2021
branżowe

Technologia wywołuje wrażenia, czyli z offline do online