2008-11-29 13 views

Respuesta

16

Utilizamos Capistrano para desplegar nuestro sitio que está escrito en PHP.

Desde la memoria (no estoy trabajando en este momento) sobrecargamos la implementación y usamos rsync para sincronizar con sftp. Algo como esto:

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 

estoy seguro de que podría sustituir a rsync con lo que un programa ftp y que debería funcionar bien.

+5

Monte FTP con curlftpfs, rsync como sistema de ficheros local, desmontar: 'curlftpfs ftp: // # {login}: # {password} {@ # remote_host}/ruta/mnt/punto_de_montaje && rsync -ruv - delete/project_path/mnt/mount_point && fusermount -u/mnt/mount_point' – r92

2

yo no lo he probado con Capistrano, pero en mis propios scripts de shell, siempre he utilizado weex

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

para desplegar sitios a través de FTP. Imagina que también puedes piratearlo con capistrano.

Guarda un caché local del estado del servidor FTP para que solo pueda cargar los archivos modificados. Esto es bueno, acelera enormemente las cosas ... pero (¿obviamente?), Va a salir mal si tu código u otras cosas se cambian por algún otro medio. Por lo tanto, se puede hacer para no hacer esto si es necesario.

Cuestiones relacionadas