Quale processo crea gli asset del foglio di stile durante la build, ad esempio /stylesheets/color_definitions_dark_1_1_603243e2b6c0b7xydx234the00538538bd705.css
Presumo che questo sia il processo di bundling?
Cosa potrebbe andare storto se questi mancano?
Questi dovrebbero iniziare ad esistere come parte dell’avvio di ember-cli o del server rails?
Quale approccio dovrei adottare per costruirli in docker dall’immagine standard di discourse o dovrei aspettarmi che esistano semplicemente avviando i server?
I fogli di stile vengono creati dall’app rails on-demand, quindi in teoria non è necessario fare nulla manualmente.
L’esecuzione di bin/rake assets:precompile li compilerà in modo anticipato, il che può essere utile se si desidera creare un’immagine docker ottimizzata per il rilascio su più host.
Gli asset compilati su richiesta (ad esempio, fogli di stile, JavaScript del tema, sprite SVG) non vengono caricati su S3. Vengono recuperati direttamente dall’applicazione (o tramite CDN_URL, se configurato).
Elementi statici come JS core/plugin e localizzazioni vengono generati da assets:precompile e sono garantiti per non cambiare mai in fase di esecuzione.
Capisco; questo aiuta a spiegare perché alcune cose vengono servite dall’applicazione. Se ci sono più container in esecuzione (ad esempio, dietro un load balancer), ognuno di essi li genererà su richiesta.
Sì, esattamente. Queste cose tendono anche ad essere memorizzate nella cache in postgres/redis, quindi devono essere generate solo dal primo container dell’app che riceve una richiesta. Gli altri container possono quindi recuperare a basso costo la versione compilata da redis/postgres e scriverla sul filesystem.
E se c’è una CDN, allora forse non ne avranno nemmeno bisogno, immagino.
Sto lavorando con qualcuno che sembra avere un problema con alcuni asset che non vengono caricati (alcune icone appaiono molto grandi) e sto cercando una spiegazione.