Utilizzando Capistrano per distribuire (un sito non Rails) via FTP?
-
11-07-2019 - |
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
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.