2008-11-29 75 views

回答

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

+5

安裝FTP與curlftpfs,rsync的本地文件系統,卸載: `curlftpfs的ftp://#{}登錄:#{}密碼@#{} REMOTE_HOST /路徑到/ mnt /裝入點&& rsync的-ruv - delete/project_path/mnt/mount_point && fusermount -u/mnt/mount_point` – r92 2011-05-10 09:09:26

2

我沒有與Capistrano的嘗試,但在我自己的shell腳本,我一直使用weex

http://weex.sourceforge.net/

部署了FTP站點。想象一下,你也可以用capistrano來解決它。

它保留FTP服務器狀態的本地緩存,以便它只能上載更改的文件。這很好,大大加快了速度......但是(很明顯?),如果你的代碼/其他東西通過其他方式改變,它會出錯。所以如果需要的話,可以不這樣做。