部署与capistrano失败

我有一个像这样的capistrano

require "bundler/capistrano" set :application, "cloudoc" set :repository, "git@github.com:luizkowalski/cloudoc.git" set :scm, :git role :web, "xx.xx.xx.xxx" role :app, "xx.xx.xx.xxx" role :db, "xx.xx.xx.xxx", :primary => true default_run_options[:pty] = true ssh_options[:forward_agent] = true after "deploy:restart", "deploy:cleanup" set :user, "deploy" set :use_sudo, true set :deploy_to, "/home/deploy" set :deploy_via, :remote_cache role :web, "xx.xx.xx.xxx" role :app, "xx.xx.xx.xxx" role :db, "xx.xx.xx.xxx", :primary => true 

cap deploy之后,这是输出。
出于某种原因,他失败了,我不知道为什么。 我尝试过使用use_sudo false和root,同样的事情发生了。

  [xx.xx.xx.xxx] executing command command finished in 4714ms copying the cached version to /home/deploy/releases/20120809223144 * executing "cp -RPp /home/deploy/shared/cached-copy /home/deploy/releases/20120809223144 && (echo 61eeff328c40e104962f96bf6ffc5150bd1162e4 > /home/deploy/releases/20120809223144/REVISION)" servers: ["xx.xx.xx.xxx"] [xx.xx.xx.xxx] executing command command finished in 604ms * executing `deploy:finalize_update' triggering before callbacks for `deploy:finalize_update' * executing `deploy:assets:symlink' * executing "rm -rf /home/deploy/releases/20120809223144/public/assets &&\\\n mkdir -p /home/deploy/releases/20120809223144/public &&\\\n mkdir -p /home/deploy/shared/assets &&\\\n ln -s /home/deploy/shared/assets /home/deploy/releases/20120809223144/public/assets" servers: ["xx.xx.xx.xxx"] [xx.xx.xx.xxx] executing command command finished in 544ms * executing `bundle:install' * executing "cd /home/deploy/releases/20120809223144 && bundle install --gemfile /home/deploy/releases/20120809223144/Gemfile --path /home/deploy/shared/bundle --deployment --quiet --without development test" servers: ["xx.xx.xx.xxx"] [xx.xx.xx.xxx] executing command command finished in 1990ms * executing "chmod -R g+w /home/deploy/releases/20120809223144" servers: ["xx.xx.xx.xxx"] [xx.xx.xx.xxx] executing command command finished in 1042ms * executing "rm -rf /home/deploy/releases/20120809223144/log /home/deploy/releases/20120809223144/public/system /home/deploy/releases/20120809223144/tmp/pids &&\\\n mkdir -p /home/deploy/releases/20120809223144/public &&\\\n mkdir -p /home/deploy/releases/20120809223144/tmp" servers: ["xx.xx.xx.xxx"] [xx.xx.xx.xxx] executing command command finished in 534ms * executing "ln -s /home/deploy/shared/system /home/deploy/releases/20120809223144/public/system" servers: ["xx.xx.xx.xxx"] [xx.xx.xx.xxx] executing command command finished in 517ms * executing "ln -s /home/deploy/shared/log /home/deploy/releases/20120809223144/log" servers: ["xx.xx.xx.xxx"] [xx.xx.xx.xxx] executing command command finished in 519ms * executing "ln -s /home/deploy/shared/pids /home/deploy/releases/20120809223144/tmp/pids" servers: ["xx.xx.xx.xxx"] [xx.xx.xx.xxx] executing command command finished in 521ms triggering after callbacks for `deploy:update_code' * executing `deploy:assets:precompile' * executing "cd /home/deploy/releases/20120809223144 && bundle exec rake RAILS_ENV=production RAILS_GROUPS=assets assets:precompile" servers: ["xx.xx.xx.xxx"] [xx.xx.xx.xxx] executing command ** [out :: xx.xx.xx.xxx] Compiled jquery.js (2ms) (pid 1075) ** [out :: xx.xx.xx.xxx] Compiled jquery_ujs.js (0ms) (pid 1075) ** [out :: xx.xx.xx.xxx] Compiled twitter/bootstrap/bootstrap-transition.js (0ms) (pid 1075) ** [out :: xx.xx.xx.xxx] Compiled twitter/bootstrap/bootstrap-alert.js (0ms) (pid 1075) ** [out :: xx.xx.xx.xxx] Compiled twitter/bootstrap/bootstrap-modal.js (0ms) (pid 1075) ** [out :: xx.xx.xx.xxx] Compiled twitter/bootstrap/bootstrap-dropdown.js (0ms) (pid 1075) ** [out :: xx.xx.xx.xxx] Compiled twitter/bootstrap/bootstrap-scrollspy.js (0ms) (pid 1075) ** [out :: xx.xx.xx.xxx] Compiled twitter/bootstrap/bootstrap-tab.js (0ms) (pid 1075) ** [out :: xx.xx.xx.xxx] Compiled twitter/bootstrap/bootstrap-tooltip.js (0ms) (pid 1075) ** [out :: xx.xx.xx.xxx] Compiled twitter/bootstrap/bootstrap-popover.js (0ms) (pid 1075) ** [out :: xx.xx.xx.xxx] Compiled twitter/bootstrap/bootstrap-button.js (0ms) (pid 1075) ** [out :: xx.xx.xx.xxx] Compiled twitter/bootstrap/bootstrap-collapse.js (0ms) (pid 1075) ** [out :: xx.xx.xx.xxx] Compiled twitter/bootstrap/bootstrap-carousel.js (0ms) (pid 1075) ** [out :: xx.xx.xx.xxx] Compiled twitter/bootstrap/bootstrap-typeahead.js (0ms) (pid 1075) ** [out :: xx.xx.xx.xxx] Compiled twitter/bootstrap.js (247ms) (pid 1075) ** [out :: xx.xx.xx.xxx] Compiled ios-checkboxes/ios-checkboxes.js (20642ms) (pid 1075) ** [out :: xx.xx.xx.xxx] Compiled ios-checkboxes.js (22403ms) (pid 1075) ** [out :: xx.xx.xx.xxx] Compiled rails.validations.js (418ms) (pid 1075) ** [out :: xx.xx.xx.xxx] Compiled best_in_place.js (327ms) (pid 1075) ** [out :: xx.xx.xx.xxx] Compiled autosize.js (76ms) (pid 1075) ** [out :: xx.xx.xx.xxx] Compiled bootstrap.js (5870ms) (pid 1075) ** [out :: xx.xx.xx.xxx] Compiled dashboard.js (1388ms) (pid 1075) ** [out :: xx.xx.xx.xxx] Compiled documents.js (896ms) (pid 1075) ** [out :: xx.xx.xx.xxx] Compiled home.js (377ms) (pid 1075) ** [out :: xx.xx.xx.xxx] Compiled sessions.js (563ms) (pid 1075) ** [out :: xx.xx.xx.xxx] Compiled application.js (51370ms) (pid 1075) ** [out :: xx.xx.xx.xxx] Killed command finished in 68972ms *** [deploy:update_code] rolling back * executing "rm -rf /home/deploy/releases/20120809223144; true" servers: ["xx.xx.xx.xxx"] [xx.xx.xx.xxx] executing command command finished in 612ms failed: "sh -c 'cd /home/deploy/releases/20120809223144 && bundle exec rake RAILS_ENV=production RAILS_GROUPS=assets assets:precompile'" on xx.xx.xx.xxx 

有任何想法吗?
如果有人需要更多信息,请告诉我
提前致谢

当RAM很短并且进程使用大量RAM时,内核会主动杀死进程。 您可以使用dmesg查看进程是否被内核杀死。 会出现以下消息:

 [ 3380.091822] Out of memory: Kill process 1075 (ruby1.9.1) score 382 or sacrifice child 

您可以激活交换空间或关闭其他进程。 如果您在VPS上运行,请确保您有足够的RAM可用。 最简单的解决方案 – 如果问题实际上是免费RAM的短缺 – 就是购买更多内存。

我在Digital Ocean上运行我的rails应用程序。 创建一个2GB的交换似乎解决了这个问题。

如果您使用的是亚马逊EC2微实例,请尝试删除应用程序的旧版本,然后重新启动服务器实例。 这对我有用。 cap deploy:cleanup cap rubber:reboot

我遇到了这个错误并意识到我正在存储我以前的所有版本。 我只是使用了cap deploy:cleanup ,它运行得很好。