使用Capistrano通过FTP部署(非Rails站点)?

时间:2008-11-29 10:29:34

标签: deployment capistrano

我该怎么做?

我有一个大多数静态网站,它托管在廉价的网络主机上,只允许FTP访问主机。该网站使用git进行跟踪。我正在使用OS X.

我想通过简单地cap deploy

上传新版本的网站

2 个答案:

答案 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服务器状态的本地缓存,以便它只能上载已更改的文件。这很好,大大加快了速度......但是(很明显?),如果你的代码/其他东西通过其他方式改变了,那就错了。因此,如果需要,可以不这样做。