Sto eseguendo un'applicazione rails 3.1 sullo stack Heroku Cedar che supporta la pipeline di asset. Heroku lists 3 ways per compilare le risorseHeroku rails 3.1 app - compilazione di risorse localmente rispetto alla compilazione di risorse durante la compilazione di slug
- Compilare le risorse localmente.
- Compilare le risorse durante la compilazione di slug.
- Compilare le risorse durante il runtime.
Ovviamente il # 3 è negativo per le prestazioni e i documenti di Heroku consigliano anche contro di esso. Ma non sono sicuro che sia meglio tra # 1 e # 2.
# 1 richiede di eseguire rake assets:precompile
e di includere la cartella public/assets
in git. La tua lumaca sarà più grande ma suppongo che i tempi di fermo per l'implementazione di un sito saranno inferiori. Ma una dimensione più grande di slug significa avvio più lento delle app, quindi forse è un lavaggio.
# 2 ci vorrà più tempo per la distribuzione degli aggiornamenti a causa del precompilamento eseguito sul lato Heroku. Tuttavia, avrai una lumaca più piccola e ce n'è meno da gestire/ricordare.
La mia domanda è: quale opzione (n. 1 o n. 2) è la migliore per la produzione e perché?
Finora sembra l'opzione n. 2 ma voglio essere sicuro di non trascurare qualcosa.
http://devcenter.heroku.com/articles/cdn-asset-host-rails31 è una buona lettura anche se sincronizza le risorse su S3 dalla tua app su Heroku in modo che siano ancora presenti nella tua lumaca semplicemente non servite da Heroku. –
anche qualche volta # 2 non è sempre un'opzione. Heroku avrebbe sempre cercato di compilarli prima durante la compilazione di slug e se poi fallisse, lo farebbe in fase di esecuzione. –