Capistrano失败部署 [英] deploy with capistrano failing
问题描述
我有这样的capistrano玩具
I have a capistrano taks like this
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
在上限部署之后
输出。
由于某种原因,他失败了,我不知道为什么。我已经尝试过使用use_sudo false和root,发生同样的事情。
after the cap deploy
this is the output.
for some reason, he fails and I don't know why. I've tried with use_sudo false and with root, same thing happen.
[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
有什么想法吗?
如果有人需要更多信息,请让我知道
提前谢谢
any ideas?
if someone needs more info, please let me know
Thanks in advance
推荐答案
当RAM不足且进程占用大量RAM时,内核会主动终止进程。您可以使用 dmesg
查看进程是否被内核终止。这样的消息将出现:
The kernel actively kills processes when RAM is short and processes use to much RAM. You can use dmesg
to look if the process got killed by the kernel. Messages like this will appear:
[ 3380.091822] Out of memory: Kill process 1075 (ruby1.9.1) score 382 or sacrifice child
您可以激活交换空间或关闭其他进程。如果您在VPS上运行,请确保您有足够的可用内存。最简单的解决方案-如果问题确实是免费内存不足-仅购买更多内存。
You can activate swap space or shut down other processes. If you are running on a VPS, please make sure you have enough RAM available. The simplest solution - if the problems is really a shortage of free RAM - is just buy more RAM.
这篇关于Capistrano失败部署的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!