2016-07-14 96 views
7

Al momento abbiamo un nuovo ambiente server con più server, quindi la funzionalità di busting della cache di laravel elixer non funziona se scarichiamo il repository ed eseguiamo gulp, poiché ogni server ha una versione diversa del file .js e .css.Laravel elixer versioning (cache buster) server multipli

Il problema è il bilanciamento del carico può inviare l'utente a uno dei due server per richiesta. Alcuni browser sembrano essere immuni dal problema, ma ad esempio non riesco a caricare correttamente css o js utilizzando JMeter per il test di carico.

C'è un modo per sincronizzare la build senza aggiungere i file compilati al repository o FTPing di tutto?

Stiamo provando ad automatizzare la distribuzione eseguendo uno script che estrae l'ultimo repository ogni volta che viene aggiornato il ramo productiosn.

+0

Non funziona? O intendi che devi continuare a commettere versioni ridondanti? –

+0

Funziona magnificamente, ma ogni server ha un diverso nome di file busting della cache – brianlmerritt

+0

È da un po 'che non uso laravel, quindi per favore ricordami perché questo è importante? Il tuo SASS di origine dovrebbe rimanere lo stesso su ogni macchina di sviluppo e non stai eseguendo il css compilato, quindi cosa importa se è diverso? Oppure stai parlando di una sorta di problema del bilanciamento del carico con un ambiente di produzione in cluster, quindi gli utenti finali potrebbero dover ottenere copie ridondanti di tali risorse a seconda del nodo a cui il bilanciamento del carico le lancia? –

risposta

4

Penso che l'unica soluzione per questo problema sia il commit dei file di risorse compilati.

Ho trovato questa soluzione strana in un primo momento, perché non esiste la cartella versione vendor ad esempio.

Ma alla fine, ho scoperto che la maggior parte dei progetti di front-end sono sempre in una cartella dist con file compilati.

Quindi è necessario impegnare la cartella build del percorso pubblico ogni volta che si modifica una risorsa.

Ovviamente, non dimenticare di creare un gulp --production prima di premere per ridurre i file.

+0

Grazie - Domani darò un'occhiata e tornerò :) – brianlmerritt

+0

Penso che tu sia vicino, ma il suggerimento di Dencker dovrebbe essere incluso nella risposta :) – brianlmerritt