我希望Capistrano 将组件上传到我的群集中的某个服务器。上传是通过 scp 完成的。 upload命令如下所示:
upload("...", "...", :via => :scp, :recursive => true)
当我上传到任何其他主机时,上传工作正常。
当我尝试上传到运行Capistrano的相同服务器时,出现以下错误:
***通过scp上传失败[...]:SCP没有成功完成()(SCP没有成功完成())
相关信息:
Capistrano v2.9.0
ruby 1.9.2p180(2011-02-18修订版30909)[x86_64-linux]
答案 0 :(得分:0)
相当确定这是因为Capistrano希望源文件位于您调用cap deploy
命令的计算机上,并且目标位于您要部署到的计算机上(也可能是他们是不同的电脑)。
如果您尝试将文件从远程计算机上传到运行cap deploy
的计算机上,那么我认为您需要使用download
代替upload
答案 1 :(得分:0)
不知道你是否还在寻找答案,但这是我解决的方法:
在我的项目的localhost.rb
文件中,我在repo定义中添加了2行:
set :repository, "..."
set :copy_dir,"/tmp/temp/"
set :copy_remote_dir,"/tmp/"