Ruby FTP是否有Rake任务?

Ruby FTP是否有Rake任务?,ruby,rake,Ruby,Rake,我正在寻找一个通过FTP进行部署的Rake任务 有人知道吗 安德斯(Anders)据我所知,虽然宝石非常漂亮,但你可以很容易地写一本书来做你想做的事 这还取决于你正在做什么样的部署——如果是Rails,你有没有研究过或者?好的,我决定自己做。代码不是很漂亮,因为它包含很多异常处理,但它完成了任务:) 上面的代码对我不起作用。 我创建了不同的一个: require 'rake' require 'net/ftp' def ftp_files(prefixToRemove, sourceFile

我正在寻找一个通过FTP进行部署的Rake任务

有人知道吗


安德斯(Anders)

据我所知,虽然宝石非常漂亮,但你可以很容易地写一本书来做你想做的事


这还取决于你正在做什么样的部署——如果是Rails,你有没有研究过或者?

好的,我决定自己做。代码不是很漂亮,因为它包含很多异常处理,但它完成了任务:)


上面的代码对我不起作用。 我创建了不同的一个:

require 'rake'
require 'net/ftp'

def ftp_files(prefixToRemove, sourceFileList, targetDir, hostname, username, password)
  Net::FTP.open(hostname, username, password) do |ftp|
  begin
    puts "Creating dir #{targetDir}" 
    ftp.mkdir targetDir
  rescue 
    puts $!
  end
  sourceFileList.each do |srcFile|    
    if prefixToRemove
      targetFile = srcFile.pathmap(("%{^#{prefixToRemove},#{targetDir}}p")) 
    else
      targetFile = srcFile.pathmap("#{targetDir}%s%p")
    end
    begin
      puts "Creating dir #{targetFile}" if File.directory?(srcFile)
      ftp.mkdir targetFile if File.directory?(srcFile)
    rescue 
      puts $!
    end
    begin
      puts "Copying #{srcFile} -> #{targetFile}" unless File.directory?(srcFile)
      ftp.putbinaryfile(srcFile, targetFile) unless File.directory?(srcFile)
    rescue 
      puts $!
    end
  end
  end
end

task :ftp => [:dist] do
  ftp_files("dist", FileList["dist/**/*"], "remote_dir", 'host.com', 'user', 'pwd')
end