我该怎么做?
我有一个大多数静态网站,它托管在廉价的网络主机上,只允许FTP访问主机。该网站使用git进行跟踪。我正在使用OS X.
我想通过简单地cap deploy
答案 0 :(得分:16)
我们使用capistrano来部署用PHP编写的网站。
从内存(我现在不工作)我们重载部署并使用rsync通过sftp进行同步。像这样:
desc "Sync"
namespace :deploy do
desc "Sync remote by default"
task :default do
remote.default
end
namespace :remote do
desc "Sync to remote server"
task :default do
`rsync -avz "/path/to/webapp" "#{remote_host}:#{remote_root}/path/to/webapp"`
end
end
end
我确信你可以用任何ftp程序替换rsync,它应该可以正常工作。
答案 1 :(得分:2)
我没有尝试使用capistrano,但在我自己的shell脚本中,我总是使用weex
(http://weex.sourceforge.net/)
通过FTP部署站点。想象一下,你也可以用capistrano来破解它。
它保留FTP服务器状态的本地缓存,以便它只能上载已更改的文件。这很好,大大加快了速度......但是(很明显?),如果你的代码/其他东西通过其他方式改变了,那就错了。因此,如果需要,可以不这样做。