我的工作部署脚本失败,出现upload via sftp failed on XX.XXX.XXX.XXX: Net::SFTP::StatusException (Net::SFTP::StatusException write /tmp/20130610114941.tar.gz (4, "failure"))
错误。
这是我的部署脚本
require "rvm/capistrano"
require "bundler/capistrano"
set :rvm_type, :user
set :rvm_ruby_string, 'ruby-2.0.0-p0'
set :user, "deployer"
set :application, "myapp"
set :deploy_to, "/home/#{user}/apps/#{application}"
set :bundle_dir, "/home/#{user}/.rvm/gems/ruby-2.0.0-p0"
server "XX.XXX.XXX.XXX", :web, :app, :db, primary: true
set :use_sudo, false
set :deploy_via, :copy
set :repository, "."
set :copy_exclude, %w[.git log tmp .DS_Store]
set :scm, :none
default_run_options[:pty] = true
after "deploy", "deploy:cleanup" # keep only the last 5 releases
namespace :deploy do
task :start do
;
end
task :stop do
;
end
task :restart, roles: :app, except: {no_release: true} do
run "touch #{deploy_to}/current/tmp/restart.txt"
end
end
有什么想法吗?
由于
修改:刚刚检查过,我的磁盘空间已满。显然这是我的问题。更新挂钩以防止这种情况发生?
答案 0 :(得分:1)
来自评论:
检查服务器上/ tmp
的可用磁盘空间df / tmp
必要时腾出空间
或者将capistrano配置为使用其他文件夹部署到(How do I change the temporary directory that Capistrano uses?)
如果您还没有这样做,可能需要查看删除旧版本
cap deploy:cleanup