Ho avuto problemi con la pre-compilazione delle risorse durante i deployment, quindi ho optato per la pre-compilazione locale e archiviare i file risultanti nella struttura dei sorgenti. Non ho alcun problema con questo approccio, eccetto che a volte mi dimentico di eseguire l'attività di precompilazione e rilasciare senza risorse di precompilazione! :(Rota risorse locali: precompilato: esiste un modo automatico per verificare le modifiche?
Mi chiedo se qualcuno si sia imbattuto in qualche modo per verificare se si sono verificati cambiamenti di asset? Idealmente mi piacerebbe eseguire una sorta di controllo sul mio server CI e fallire la compilazione se . ci sono cambiamenti di asset che non sono stati commessi
ho avuto un paio di pensieri:
Run
RAILS_ENV=production bundle exec rake assets:precompile
sul server cI e vedere se c'è qualche uscita (il comando appare tutto quanto non output se. le risorse sono aggiornate.) Tuttavia, sembra che l'output del comando sia legato in qualche modo all'ambiente in cui viene eseguito, perché dopo aver eseguito la virgola nd localmente, confermando i risultati e quindi eseguendo il comando sul server CI, è ancora presente il comando! Mi piacerebbe sapere perché questo è legato all'ambiente, ma non riesco nemmeno a trovare la fonte perrake assets:precompile
nel repository github dei binari. Qualcuno sa dove è la fonte?In qualche modo scrivere un comando che può guardare attraverso la cronologia git e determinare se qualche risorsa è stata modificata nella mia cartella
assets/
dall'ultima pre-compilazione. Non realmente sicuro come dovrebbe funzionare ...
Questo mi ha poco più di un paio di volte, e qualche volta io non prenderlo quando i colleghi si impegnano variazioni patrimoniali - più esso sembra davvero come questo è qualcosa che un computer dovrebbe essere in grado di catturare per un umano. Immagino che una terza alternativa abbastanza ragionevole sarebbe avere il server CI semplicemente eseguendo il comando e commettere automaticamente i file generati nell'albero dei sorgenti, ma non mi piace l'idea che il mio server CI esegua commit.
Qualche idea? Grazie.
Bene, ho scoperto che l'attività 'rake assets: precompile' è definita nel progetto [sprockets-rails] (https://github.com/rails/sprockets-rails). Ancora non hanno fatto progressi su questo ancora però. Spero di poter dedurre quello che sta succedendo scavando attraverso quel codice. –
Ho riscontrato un problema nel progetto rotaie-rotaie intorno a questo - https://github.com/rails/sprockets-rails/issues/264 Se stai riscontrando questo problema ti suggerisco di upvotare. –
Esiste un progetto pubblico in cui la variabilità dell'ambiente nelle risorse del rake: il precompilare potrebbe essere dimostrato (a patto naturalmente che si possa trovare la differenza fondamentale richiesta negli ambienti). – javabrett