tengo esta tarea Capistrano:Rails 3.2.1, activos precompilados dos veces en la implementación?
namespace :deploy do
task :precompile, :role => :app do
run "cd #{release_path}/ && RAILS_ENV=staging bundle exec rake assets:precompile --trace"
end
end
after "deploy:finalize_update", "deploy:precompile"
Sé que hay load 'deploy/assets'
pero estoy tratando de entender lo que está pasando aquí.
estoy desplegar en un Amazon EC2 ejemplo m1.small, que al parecer tiene constantemente 50% de la CPU robar tiempo, verificado con top
. Esto conduce a un mayor tiempo para la compilación de los activos, pero echar un vistazo a esto:
[23.21.xxx.xx] rvm_path=$HOME/.rvm/ $HOME/.rvm/bin/rvm-shell 'ruby-1.9.3-p125' -c 'cd /home/ubuntu/apps/myapp-rails/releases/20120227020245/ && RAILS_ENV=staging bundle exec rake assets:precompile --trace'
** [out :: 23.21.xxx.xx] ** Invoke assets:precompile (first_time)
** [out :: 23.21.xxx.xx] ** Execute assets:precompile
** [out :: 23.21.xxx.xx] /home/ubuntu/.rvm/rubies/ruby-1.9.3-p125/bin/ruby /home/ubuntu/apps/myapp-rails/shared/bundle/ruby/1.9.1/bin/rake assets:precompile:all RAILS_ENV=staging RAILS_GROUPS=assets --trace
** [out :: 23.21.xxx.xx] ** Invoke assets:precompile:all (first_time)
** [out :: 23.21.xxx.xx] ** Execute assets:precompile:all
** [out :: 23.21.xxx.xx] ** Invoke assets:precompile:primary (first_time)
** [out :: 23.21.xxx.xx] ** Invoke assets:environment (first_time)
** [out :: 23.21.xxx.xx] ** Execute assets:environment
** [out :: 23.21.xxx.xx] ** Invoke environment (first_time)
** [out :: 23.21.xxx.xx] ** Execute environment
** [out :: 23.21.xxx.xx] ** Invoke tmp:cache:clear (first_time)
** [out :: 23.21.xxx.xx] ** Execute tmp:cache:clear
** [out :: 23.21.xxx.xx] ** Execute assets:precompile:primary
** [out :: 23.21.xxx.xx] ** Invoke assets:precompile:nondigest (first_time)
** [out :: 23.21.xxx.xx] ** Invoke assets:environment (first_time)
** [out :: 23.21.xxx.xx] ** Execute assets:environment
** [out :: 23.21.xxx.xx] ** Invoke environment (first_time)
** [out :: 23.21.xxx.xx] ** Execute environment
** [out :: 23.21.xxx.xx] ** Invoke tmp:cache:clear (first_time)
** [out :: 23.21.xxx.xx] ** Execute tmp:cache:clear
** [out :: 23.21.xxx.xx] ** Execute assets:precompile:nondigest
command finished in 958131ms
Aparte del loco cantidad de tiempo dedicado a la precompilación activos por alguna razón puedo decir que les está compilando dos veces. ¿Por qué?
Estoy usando Rails 3.2.1. ¿Puede alguien ofrecer alguna información sobre lo que está sucediendo aquí? ¿Es intencional?
staging.rb
# Compress JavaScripts and CSS
config.assets.compress = true
# Don't fallback to assets pipeline if a precompiled asset is missed
config.assets.compile = false
# Generate digests for assets URLs
config.assets.digest = true
he mencionado en mi pregunta, que yo sepa acerca de esta tarea Capistrano. Lo apagué porque 1) Tengo problemas con él y sprites 2) Quería verificar claramente qué está pasando. – kain
He actualizado mi respuesta con más detalles. – James
gracias; aunque ejecutar una tarea para cada 'situación' me parece tonto, ¿por qué en la tierra los rieles no pueden verificar las opciones y actuar en consecuencia ejecutando solo una tarea que está más allá de mí ... si tienes cualquier otra información sobre qué digerir, ndigerir, primaria o por qué alguien querría no digerir y esas cosas, por favor comparte. – kain