Pour Rails 3, cette question < / a> et turbo-pignons-rails3 superbes. p>
Pour Rails 4, il semble être une certaine controverse sur si cela a été corrigé ou non. p>
J'utilise actuellement Rails 4 dans la production, et il semble que parce Capistrano Idéalement, cela devrait être remplacé par un système de contrôle manifeste à base, de sorte que sont recompilées que les actifs qui ont réellement changé (ou dépendent de ceux qui ont changé). P>
Quelle est la meilleure façon de le faire? (En supposant que nous faisons encore sur le serveur, et non la machine dev.) P> : Déployez actifs: update_asset_mtimes code> touche tous em> actifs,
: Déployez actifs: precompile code> également re-compile tous. Ce recompilation est l'étape la plus longue seule dans mon
cap deploy code>. P>
3 Réponses :
Voici un excellent article de blog des gars à la codeclimate à ce sujet. Je l'ai pris un coup d'oeil mais je n'ai pas suivi les étapes de la production. p>
http: // blog .Codeclimate.com / Blog / 2013/10/102 / Rails à haute vitesse-déployés-with-git / p>
Cela ressemble à un joli changement radical (bien au-delà du montant dont je parlais). Certainement intéressant cependant.
Ce problème a été discuté dans https://github.com/capistrano/capistrano/issues/478 Et la solution qui semble être correcte est simplement de désactiver le toucher. Dans le numéro ci-dessus, une variable de configuration a été parlée à utiliser pour cela, mais je ne pouvais trouver aucune référence de code. Au lieu de cela, nous écrivons maintenant simplement la tâche.
namespace :deploy do namespace :assets do task :update_asset_mtimes, :roles => lambda { assets_role }, :except => { :no_release => true } do end end end
Ce gars a eu raison pour Capistrano 3. Fonctionne bien pour moi. https://coderwall.com/p/Ariidag p>
Ils l'ont transformé en gemme: Github.com/capistrano-plugins/capistrano-fasterfasters