2012-06-09 75 views
0

我想部署mysite到我的VPS。 Capstrano是我的工具来完成这项任务。当我运行capistrano异常,而资产:预编译

cap deploy 

我得到这个错误

* executing `deploy:assets:precompile' 
    * executing "cd /home/aassdd/mysitename.com/releases/20120609034922 && bundle exec rake RAILS_ENV=production RAILS_GROUPS=assets assets:precompile" 
    servers: ["mysitename.com"] 
    [mysitename.com] executing command 
** [out :: mysitename.com] Faraday: you may want to install system_timer for reliable timeouts 
*** [deploy:update_code] rolling back 
    * executing "rm -rf /home/aaalsubaie/mysitename.com/releases/20120609034922; true" 
    servers: ["mysitename.com"] 
** [deploy:update_code] exception while rolling back: IOError, closed stream 
/Library/Ruby/Gems/1.8/gems/net-ssh-2.5.2/lib/net/ssh/ruby_compat.rb:41:in `select': closed stream (IOError) 
    from /Library/Ruby/Gems/1.8/gems/net-ssh-2.5.2/lib/net/ssh/ruby_compat.rb:41:in `io_select' 
    from /Library/Ruby/Gems/1.8/gems/net-ssh-2.5.2/lib/net/ssh/ruby_compat.rb:40:in `synchronize' 
    from /Library/Ruby/Gems/1.8/gems/net-ssh-2.5.2/lib/net/ssh/ruby_compat.rb:40:in `io_select' 
    from /Library/Ruby/Gems/1.8/gems/net-ssh-2.5.2/lib/net/ssh/transport/packet_stream.rb:73:in `available_for_read?' 
    from /Library/Ruby/Gems/1.8/gems/net-ssh-2.5.2/lib/net/ssh/transport/packet_stream.rb:85:in `next_packet' 
    from /Library/Ruby/Gems/1.8/gems/net-ssh-2.5.2/lib/net/ssh/transport/session.rb:171:in `poll_message' 
    from /Library/Ruby/Gems/1.8/gems/net-ssh-2.5.2/lib/net/ssh/transport/session.rb:166:in `loop' 
    from /Library/Ruby/Gems/1.8/gems/net-ssh-2.5.2/lib/net/ssh/transport/session.rb:166:in `poll_message' 
    from /Library/Ruby/Gems/1.8/gems/net-ssh-2.5.2/lib/net/ssh/connection/session.rb:451:in `dispatch_incoming_packets' 
    from /Library/Ruby/Gems/1.8/gems/net-ssh-2.5.2/lib/net/ssh/connection/session.rb:213:in `preprocess' 
    from /Library/Ruby/Gems/1.8/gems/capistrano-2.12.0/lib/capistrano/processable.rb:17:in `process_iteration' 
    from /Library/Ruby/Gems/1.8/gems/capistrano-2.12.0/lib/capistrano/processable.rb:43:in `ensure_each_session' 
    from /Library/Ruby/Gems/1.8/gems/capistrano-2.12.0/lib/capistrano/processable.rb:41:in `each' 
    from /Library/Ruby/Gems/1.8/gems/capistrano-2.12.0/lib/capistrano/processable.rb:41:in `ensure_each_session' 
    from /Library/Ruby/Gems/1.8/gems/capistrano-2.12.0/lib/capistrano/processable.rb:17:in `process_iteration' 
    from /Library/Ruby/Gems/1.8/gems/capistrano-2.12.0/lib/capistrano/command.rb:165:in `process!' 
    from /Library/Ruby/Gems/1.8/gems/capistrano-2.12.0/lib/capistrano/command.rb:164:in `loop' 
    from /Library/Ruby/Gems/1.8/gems/capistrano-2.12.0/lib/capistrano/command.rb:164:in `process!' 
    from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/benchmark.rb:308:in `realtime' 
    from /Library/Ruby/Gems/1.8/gems/capistrano-2.12.0/lib/capistrano/command.rb:163:in `process!' 
    from /Library/Ruby/Gems/1.8/gems/capistrano-2.12.0/lib/capistrano/command.rb:134:in `process' 
    from /Library/Ruby/Gems/1.8/gems/capistrano-2.12.0/lib/capistrano/configuration/actions/invocation.rb:178:in `run_tree' 
    from /Library/Ruby/Gems/1.8/gems/capistrano-2.12.0/lib/capistrano/configuration/connections.rb:198:in `execute_on_servers' 
    from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/erb.rb:719:in `each_slice' 
    from /Library/Ruby/Gems/1.8/gems/capistrano-2.12.0/lib/capistrano/configuration/connections.rb:186:in `each' 
    from /Library/Ruby/Gems/1.8/gems/capistrano-2.12.0/lib/capistrano/configuration/connections.rb:186:in `each_slice' 
    from /Library/Ruby/Gems/1.8/gems/capistrano-2.12.0/lib/capistrano/configuration/connections.rb:186:in `execute_on_servers' 
    from /Library/Ruby/Gems/1.8/gems/capistrano-2.12.0/lib/capistrano/configuration/actions/invocation.rb:176:in `run_tree' 
    from /Library/Ruby/Gems/1.8/gems/capistrano-2.12.0/lib/capistrano/configuration/actions/invocation.rb:148:in `run' 
    from /Library/Ruby/Gems/1.8/gems/capistrano-2.12.0/lib/capistrano/configuration/namespaces.rb:193:in `send' 
    from /Library/Ruby/Gems/1.8/gems/capistrano-2.12.0/lib/capistrano/configuration/namespaces.rb:193:in `method_missing' 
    from /Library/Ruby/Gems/1.8/gems/capistrano-2.12.0/lib/capistrano/configuration/namespaces.rb:193:in `send' 
    from /Library/Ruby/Gems/1.8/gems/capistrano-2.12.0/lib/capistrano/configuration/namespaces.rb:193:in `method_missing' 
    from /Library/Ruby/Gems/1.8/gems/capistrano-2.12.0/lib/capistrano/recipes/deploy/assets.rb:42:in `load' 
    from /Library/Ruby/Gems/1.8/gems/capistrano-2.12.0/lib/capistrano/configuration/execution.rb:139:in `instance_eval' 
    from /Library/Ruby/Gems/1.8/gems/capistrano-2.12.0/lib/capistrano/configuration/execution.rb:139:in `invoke_task_directly_without_callbacks' 
    from /Library/Ruby/Gems/1.8/gems/capistrano-2.12.0/lib/capistrano/configuration/callbacks.rb:25:in `invoke_task_directly' 
    from /Library/Ruby/Gems/1.8/gems/capistrano-2.12.0/lib/capistrano/configuration/execution.rb:89:in `execute_task' 
    from /Library/Ruby/Gems/1.8/gems/capistrano-2.12.0/lib/capistrano/configuration/execution.rb:101:in `find_and_execute_task' 
    from /Library/Ruby/Gems/1.8/gems/capistrano-2.12.0/lib/capistrano/callback.rb:38:in `call' 
    from /Library/Ruby/Gems/1.8/gems/capistrano-2.12.0/lib/capistrano/configuration/callbacks.rb:123:in `trigger' 
    from /Library/Ruby/Gems/1.8/gems/capistrano-2.12.0/lib/capistrano/configuration/callbacks.rb:123:in `each' 
    from /Library/Ruby/Gems/1.8/gems/capistrano-2.12.0/lib/capistrano/configuration/callbacks.rb:123:in `trigger' 
    from /Library/Ruby/Gems/1.8/gems/capistrano-2.12.0/lib/capistrano/configuration/callbacks.rb:27:in `invoke_task_directly' 
    from /Library/Ruby/Gems/1.8/gems/capistrano-2.12.0/lib/capistrano/configuration/execution.rb:89:in `execute_task' 
    from /Library/Ruby/Gems/1.8/gems/capistrano-2.12.0/lib/capistrano/configuration/namespaces.rb:193:in `send' 
    from /Library/Ruby/Gems/1.8/gems/capistrano-2.12.0/lib/capistrano/configuration/namespaces.rb:193:in `method_missing' 
    from /Library/Ruby/Gems/1.8/gems/capistrano-2.12.0/lib/capistrano/configuration/namespaces.rb:110:in `update_code' 
    from /Library/Ruby/Gems/1.8/gems/capistrano-2.12.0/lib/capistrano/recipes/deploy.rb:203:in `load' 
    from /Library/Ruby/Gems/1.8/gems/capistrano-2.12.0/lib/capistrano/configuration/execution.rb:56:in `transaction' 
    from /Library/Ruby/Gems/1.8/gems/capistrano-2.12.0/lib/capistrano/configuration/namespaces.rb:193:in `send' 
    from /Library/Ruby/Gems/1.8/gems/capistrano-2.12.0/lib/capistrano/configuration/namespaces.rb:193:in `method_missing' 
    from /Library/Ruby/Gems/1.8/gems/capistrano-2.12.0/lib/capistrano/recipes/deploy.rb:202:in `load' 
    from /Library/Ruby/Gems/1.8/gems/capistrano-2.12.0/lib/capistrano/configuration/execution.rb:139:in `instance_eval' 
    from /Library/Ruby/Gems/1.8/gems/capistrano-2.12.0/lib/capistrano/configuration/execution.rb:139:in `invoke_task_directly_without_callbacks' 
    from /Library/Ruby/Gems/1.8/gems/capistrano-2.12.0/lib/capistrano/configuration/callbacks.rb:25:in `invoke_task_directly' 
    from /Library/Ruby/Gems/1.8/gems/capistrano-2.12.0/lib/capistrano/configuration/execution.rb:89:in `execute_task' 
    from /Library/Ruby/Gems/1.8/gems/capistrano-2.12.0/lib/capistrano/configuration/namespaces.rb:193:in `send' 
    from /Library/Ruby/Gems/1.8/gems/capistrano-2.12.0/lib/capistrano/configuration/namespaces.rb:193:in `method_missing' 
    from /Library/Ruby/Gems/1.8/gems/capistrano-2.12.0/lib/capistrano/configuration/namespaces.rb:110:in `update' 
    from /Library/Ruby/Gems/1.8/gems/capistrano-2.12.0/lib/capistrano/recipes/deploy.rb:170:in `load' 
    from /Library/Ruby/Gems/1.8/gems/capistrano-2.12.0/lib/capistrano/configuration/execution.rb:139:in `instance_eval' 
    from /Library/Ruby/Gems/1.8/gems/capistrano-2.12.0/lib/capistrano/configuration/execution.rb:139:in `invoke_task_directly_without_callbacks' 
    from /Library/Ruby/Gems/1.8/gems/capistrano-2.12.0/lib/capistrano/configuration/callbacks.rb:25:in `invoke_task_directly' 
    from /Library/Ruby/Gems/1.8/gems/capistrano-2.12.0/lib/capistrano/configuration/execution.rb:89:in `execute_task' 
    from /Library/Ruby/Gems/1.8/gems/capistrano-2.12.0/lib/capistrano/configuration/execution.rb:101:in `find_and_execute_task' 
    from /Library/Ruby/Gems/1.8/gems/capistrano-2.12.0/lib/capistrano/cli/execute.rb:46:in `execute_requested_actions_without_help' 
    from /Library/Ruby/Gems/1.8/gems/capistrano-2.12.0/lib/capistrano/cli/execute.rb:45:in `each' 
    from /Library/Ruby/Gems/1.8/gems/capistrano-2.12.0/lib/capistrano/cli/execute.rb:45:in `execute_requested_actions_without_help' 
    from /Library/Ruby/Gems/1.8/gems/capistrano-2.12.0/lib/capistrano/cli/help.rb:19:in `execute_requested_actions' 
    from /Library/Ruby/Gems/1.8/gems/capistrano-2.12.0/lib/capistrano/cli/execute.rb:34:in `execute!' 
    from /Library/Ruby/Gems/1.8/gems/capistrano-2.12.0/lib/capistrano/cli/execute.rb:14:in `execute' 
    from /Library/Ruby/Gems/1.8/gems/capistrano-2.12.0/bin/cap:4 
    from /usr/bin/cap:19:in `load' 
    from /usr/bin/cap:19 

我不知道什么是错误时用来做工精细的源泉!

这是我的帽子文件

load 'deploy' 
# Uncomment if you are using Rails' asset pipeline 
    # load 'deploy/assets' 

Dir['vendor/gems/*/recipes/*.rb','vendor/plugins/*/recipes/*.rb'].each { |plugin| load(plugin) } 
load 'config/deploy' # remove this line to skip loading any of the default tasks 

load 'deploy/assets' 
task :search_libs, :hosts => "mysitename.com" do 
    run "ls -x1 /usr/lib | grep -i xml" 
end 

,这是我的部署文件

require "bundler/capistrano" 

default_run_options[:pty] = true 

set :user, 'myname' 
set :domain, 'mysitename.com' 
set :application, 'mysitename' 


set :repository, "#{user}@#{domain}:git/#{application}.git" 
set :deploy_to, "/home/#{user}/#{domain}" 
set :deploy_via, :remote_cache 
set :scm, 'git' 
set :branch, 'master' 
set :git_shallow_clone, 1 
set :scm_verbose, true 
set :use_sudo, false 

server domain, :app, :web 
role :db, domain, :primary => true 

namespace :deploy do 
    task :restart do 
    run "touch #{current_path}/tmp/restart.txt" 
    end 

    desc "reload the database with seed data" 
    task :seed do 
    run "cd #{current_path}; bundle exec rake db:seed RAILS_ENV=#{rails_env}" 
    end 
end 

它值得一提的是,当我ssh到我的远程服务器,并执行

cd /home/ssddff/mysitename.com/releases/20120609034922 && bundle exec rake RAILS_ENV=production RAILS_GROUPS=assets assets:precompile 

它无误地工作!

回答

0

我增加我的VPS内存为512MB

解决了这个问题