2016-07-14 36 views
7

W tej chwili mamy nowe środowisko serwerowe z wieloma serwerami, więc funkcja pomijania pamięci podręcznej przez laravel elixer nie działa, jeśli pobieramy repozytorium i uruchamiamy gulp, ponieważ każdy serwer ma inna wersja pliku .js i .css.Laravel Elixer versioning (cache buster) wiele serwerów

Problem polega na tym, że wyrównywanie obciążenia może wysłać użytkownika do dowolnego serwera na żądanie. Niektóre przeglądarki wydają się być odporne na problem, ale na przykład nie mogę załadować css lub js poprawnie używając JMeter do testowania obciążenia.

Czy istnieje sposób synchronizacji kompilacji bez dodawania skompilowanych plików do repozytorium lub wysyłania wszystkiego na serwer FTP?

Staramy się zautomatyzować wdrażanie, uruchamiając skrypt, który ściąga najnowsze transakcje repo za każdym razem, gdy odnawia się gałąź productiosn.

+0

To nie działa? Czy masz na myśli to, że musisz nadal zezwalać na redundantne wersje? –

+0

To działa pięknie, ale każdy serwer ma inną nazwę pliku pomijania pamięci podręcznej. – brianlmerritt

+0

Minęło trochę czasu odkąd użyłem laravel, więc proszę przypomnieć mi, dlaczego to ma znaczenie? Twój źródłowy SASS powinien pozostać taki sam na każdym komputerze programistycznym i nie popełniasz skompilowanego css, więc jakie ma znaczenie, czy jest inny? A może mówisz o jakimś problemie równoważenia obciążenia w klastrowym środowisku produkcyjnym, aby użytkownicy końcowi musieli uzyskać redundantne kopie tych zasobów w zależności od tego, do którego węzła jest on wyrzucany? –

Odpowiedz

4

Myślę, że jedynym rozwiązaniem tego problemu jest zatwierdzenie skompilowanych plików zasobów.

Z początku uznałem to rozwiązanie za dziwne, ponieważ na przykład nie mamy wersji vendor.

Ale na koniec stwierdziłem, że większość projektów front-end zawsze zawiera folder dist ze skompilowanymi plikami.

Musisz więc zatwierdzić folder build swojej publicznej ścieżki za każdym razem, gdy dokonasz modyfikacji pliku aktywów.

Oczywiście, nie zapomnij zrobić gulp --production przed naciśnięciem, aby zminimalizować pliki.

+0

Dzięki - przyjrzę się w poniedziałek i wrócę :) – brianlmerritt

+0

Myślę, że jesteś blisko, ale sugestia Denckera również powinna znaleźć się w odpowiedzi :) – brianlmerritt