Domanda

Come potrei farlo?

Ho un sito prevalentemente statico, che è ospitato su un host web economico, che consente solo l'accesso FTP all'hosting. Il sito è tracciato in git. Sto usando OS X.

Vorrei caricare una nuova versione del sito semplicemente facendo cap deploy

È stato utile?

Soluzione

Usiamo capistrano per distribuire il nostro sito che è scritto in PHP.

Dalla memoria (al momento non sono al lavoro) sovraccarichiamo deploy e usiamo rsync per sincronizzare su sftp. Qualcosa del genere:

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

Sono sicuro che potresti sostituire rsync con qualunque programma ftp e dovrebbe funzionare bene.

Altri suggerimenti

Non l'ho provato con capistrano, ma nei miei script di shell ho sempre usato weex

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

per distribuire siti su FTP. Immagina di poterlo hackerare anche con Capistrano.

Mantiene una cache locale dello stato del server FTP in modo che possa caricare solo i file modificati. Questo va bene, velocizza enormemente le cose ... ma (ovviamente?), Andrà storto se il tuo codice / altre cose vengono cambiate con altri mezzi. Quindi può essere fatto per non farlo se necessario.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top