3
A
回答
5
好的,我决定自己做。代码不是很漂亮,因为它包含了很多异常处理,但它完成了工作:)
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
4
不,我知道的虽然Net::SFTP宝石是相当不错的,你可以写一个new rake task很容易地做你喜欢什么。
这也取决于你正在做什么样的部署 - 如果它的Rails,你看看Capistrano或Vlad the Deployer?
2
上面的代码对我来说不起作用。我创建了不同的一个: https://gist.github.com/1690647
相关问题
- 1. 插件是否可用于rake任务?
- 2. 是否有像db:fixtures:load in factory_girl_rails这样的内置rake任务?
- 3. 运行所有rake任务?
- 4. Rake任务只有一次
- 5. 是否有iOS 5.0的任何FTP服务器库
- 6. 在Rake任务
- 7. rake任务
- 8. rake任务
- 9. Rake“variadic”任务
- 10. 是否有可能判断环境是否已被传入rake任务块?
- 11. 是否有可能从Rails的另一台服务器运行rake任务
- 12. 确定Rails服务器是否从rake任务运行
- 13. 其中是rake任务acts_as_taggable_on_engine:安装:migrations是否定义?
- 14. 为每个现有的rake任务定义一个自定义rake任务
- 15. Rake任务会破坏我的Ruby ...坏Rake任务
- 16. Rake任务的命令行工作,但失败rake任务
- 17. 如何将Rake任务添加到默认的Rake任务?
- 18. Rake中的“环境”任务是什么?
- 19. 运行rake任务
- 20. Rake任务失火
- 21. 守护rake任务
- 22. rake任务指定
- 23. rake任务问题
- 24. 调试rake任务
- 25. 订单Rake任务
- 26. 如何rake任务
- 27. rake任务变量
- 28. 调度Rake任务
- 29. 测试Rake任务
- 30. rake任务订购