19

我该怎么办?

我有一个主要是静态的站点,它托管在一个便宜的网络主机上,它只允许 FTP 访问主机。该站点在 git 中进行跟踪。我正在使用 OS X。

我想通过简单地上传网站的新版本cap deploy

4

2 回答 2

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,它应该可以正常工作。

于 2008-11-29T11:26:00.670 回答
2

我没有用 capistrano 尝试过,但是在我自己的 shell 脚本中,我一直使用 weex

( http://weex.sourceforge.net/ )

通过 FTP 部署站点。想象一下,你也可以用 capistrano 破解它。

它保留 FTP 服务器状态的本地缓存,以便它只能上传更改的文件。这很好,大大加快了速度……但是(显然?),如果您的代码/其他内容通过其他方式更改,则会出错。因此,如果需要,可以不这样做。

于 2008-11-29T11:42:20.683 回答