Ruby Capistrano 3.0文件传输?

Ruby Capistrano 3.0文件传输?,ruby,upload,capistrano,transfer,Ruby,Upload,Capistrano,Transfer,好像卡皮斯特拉诺以前有 然而,在重写之后,它似乎在3.0版中消失了。你知道是否还有其他方法可以在服务器之间传输文件吗?我在IRC上询问了这一点,发现仍然有一个上传功能: on hosts do |host| upload! '/config/database.yml', '/opt/my_project/shared/database.yml' end 但是,我还没有找到一种不使用rsync或scp从服务器下载文件的方法来下载: desc "download foobar.txt int

好像卡皮斯特拉诺以前有


然而,在重写之后,它似乎在3.0版中消失了。你知道是否还有其他方法可以在服务器之间传输文件吗?

我在IRC上询问了这一点,发现仍然有一个上传功能:

on hosts do |host|
  upload! '/config/database.yml', '/opt/my_project/shared/database.yml'
end
但是,我还没有找到一种不使用rsync或scp从服务器下载文件的方法来下载:

desc "download foobar.txt into local_dir/"
task :foobar do
  download! "some_remote_path/foobar.txt", "local_dir/"
end
我知道这从第3.2.1章开始就可以使用,因为我现在正在使用它。

您可以使用rsync

run_locally do
execute"rsync -ah --progress source destination"
end

我使用rsync和scp进行文件传输,注意远程路径必须是绝对路径,而不是相对路径。(即,与直接执行
scp
命令时键入的内容相同。)例如,您可以执行
下载!“#{release_path}/path/within/project”,“local_dir/”
有一个
下载立即运行