大佬教程收集整理的这篇文章主要介绍了ruby-on-rails – Capistrano杀死资产:预编译,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
*** [err :: xxx.xxx.xx.xxx] bash: line 1: 9953 Killed bundle exec rake RAILS_ENV=production RAILS_GROUPS=assets assets:precompile
我认为问题是这个过程耗时太长.日志中没有错误,顶部没有显示任何异常.我设法摆脱日志的是,它被杀死的过程似乎是application.js编译.
当我运行rake资产:在本地预编译时,没有错误/警告.
我可以延长capistrano在杀死进程之前等待的长度吗?这是真的吗?我还能在哪里看?
更新
运行时
bundle exec rake assets:precompile RAILS_ENV=production RAILS_GROUPS=assets --trace
我得到以下输出
** Invoke assets:precompile (first_time) ** Execute assets:precompile ** Invoke assets:precompile:all (first_time) ** Execute assets:precompile:all ** Invoke assets:precompile:priMary (first_time) ** Invoke assets:environment (first_time) ** Execute assets:environment ** Invoke tmp:cache:clear (first_time) ** Execute tmp:cache:clear ** Execute assets:precompile:priMary Killed
当我跑
bundle exec rake assets:precompile RAILS_ENV=production --trace
我得到
**执行资产:预编译
.../.rvm/rubies/ruby-1.9.3-p374/bin/ruby path/to/app/production/shared/bundle/ruby/1.9.1/bin/rake assets:precompile:all RAILS_ENV=production RAILS_GROUPS=assets --trace ** Invoke assets:precompile:all (first_time) ** Execute assets:precompile:all ** Invoke assets:precompile:priMary (first_time) ** Invoke assets:environment (first_time) ** Execute assets:environment ** Invoke tmp:cache:clear (first_time) ** Execute tmp:cache:clear ** Execute assets:precompile:priMary rake aborted! Command failed with status (): [/home/user/.rvm/rubies/ruby-1.9.3-p374...] path/to/app/production/shared/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/file_utils.rb:53:in `block in create_sHell_runner' path/to/app/production/shared/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/file_utils.rb:45:in `call' path/to/app/production/shared/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/file_utils.rb:45:in `sh' path/to/app/production/shared/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/file_utils_ext.rb:40:in `sh' path/to/app/production/shared/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/file_utils.rb:80:in `ruby' path/to/app/production/shared/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/file_utils_ext.rb:40:in `ruby' path/to/app/production/shared/bundle/ruby/1.9.1/gems/actionpack-3.2.11/lib/sprockets/assets.rake:12:in `ruby_rake_task' path/to/app/production/shared/bundle/ruby/1.9.1/gems/actionpack-3.2.11/lib/sprockets/assets.rake:21:in `invoke_or_reboot_rake_task' path/to/app/production/shared/bundle/ruby/1.9.1/gems/actionpack-3.2.11/lib/sprockets/assets.rake:29:in `block (2 levels) in <top (required)>' path/to/app/production/shared/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/task.rb:228:in `call' path/to/app/production/shared/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/task.rb:228:in `block in execute' path/to/app/production/shared/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/task.rb:223:in `each' path/to/app/production/shared/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/task.rb:223:in `execute' path/to/app/production/shared/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/task.rb:166:in `block in invoke_with_call_chain' /home/user/.rvm/rubies/ruby-1.9.3-p374/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize' path/to/app/production/shared/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/task.rb:159:in `invoke_with_call_chain' path/to/app/production/shared/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/task.rb:152:in `invoke' path/to/app/production/shared/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/application.rb:143:in `invoke_task' path/to/app/production/shared/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/application.rb:101:in `block (2 levels) in top_level' path/to/app/production/shared/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/application.rb:101:in `each' path/to/app/production/shared/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/application.rb:101:in `block in top_level' path/to/app/production/shared/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/application.rb:110:in `run_with_threads' path/to/app/production/shared/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/application.rb:95:in `top_level' path/to/app/production/shared/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/application.rb:73:in `block in run' path/to/app/production/shared/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/application.rb:160:in `standard_exception_handling' path/to/app/production/shared/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/application.rb:70:in `run' path/to/app/production/shared/bundle/ruby/1.9.1/gems/rake-10.0.3/bin/rake:33:in `<top (required)>' path/to/app/production/shared/bundle/ruby/1.9.1/bin/rake:23:in `load' path/to/app/production/shared/bundle/ruby/1.9.1/bin/rake:23:in `<main>' Tasks: TOP => assets:precompile
这不会在分段目录中发生.我觉得这是盯着我的脸
这是脚本
namespace :deploy do namespace :assets do task :precompile,:roles => :web do from = source.next_revision(current_revision) if capture("cd #{latest_releasE} && #{source.local.log(from)} vendor/assets/ lib/assets/ app/assets/ | wc -l").to_i > 0 run_locally("RAILS_ENV=#{rails_env} rake assets:clean && RAILS_ENV=#{rails_env} rake assets:precompile") run_locally "cd public && tar -jcf assets.tar.bz2 assets" top.upload "public/assets.tar.bz2","#{shared_path}",:via => :scp run "cd #{shared_path} && tar -jxf assets.tar.bz2 && rm assets.tar.bz2" run_locally "rm public/assets.tar.bz2" run_locally("rake assets:clean") else logger.info "Skipping asset precompilation because there were no asset changes" end end task :symlink,roles: :web do run ("rm -rf #{latest_releasE}/public/assets && mkdir -p #{latest_releasE}/public && mkdir -p #{shared_path}/assets && ln -s #{shared_path}/assets #{latest_releasE}/public/assets") end end # other stuff... end
这是where I found the script.它提供了更好的解释
编辑:
更新的rails部署出现问题.我不知道确切的版本,但它似乎影响到rails 4.资产需要指定正在编译的环境,否则生产/分段环境将无法找到它们.
以上是大佬教程为你收集整理的ruby-on-rails – Capistrano杀死资产:预编译全部内容,希望文章能够帮你解决ruby-on-rails – Capistrano杀死资产:预编译所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。