Usando Capistrano para implantar (um site não-Rails) via FTP?
-
11-07-2019 - |
Pergunta
Como eu iria sobre isso?
Eu tenho um site na maior parte estática, que está sendo hospedado em um web-host barato, que só permite o acesso FTP para a hospedagem. O site é monitorado no git. Eu estou usando OS X.
Gostaria de fazer upload de uma nova versão do site, basta fazer cap deploy
Solução
Nós usamos Capistrano para implantar nosso site que é escrito em PHP.
Da memória (não estou no trabalho agora) que sobrecarregue implantar e rsync usado para sincronizar mais de SFTP. Algo parecido com isto:
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
Eu tenho certeza que você poderia substituir rsync com o que um programa de ftp e ele deve funcionar bem.
Outras dicas
Eu não tentei com Capistrano, mas em meus próprios scripts shell, eu sempre usei weex
( http://weex.sourceforge.net/ )
para implantar sites sobre FTP. Imagine que você poderia cortá-lo com Capistrano também.
Ele mantém um cache local do estado do servidor FTP para que ele só pode fazer upload de arquivos alterados. Isso é bom, maciçamente acelera as coisas ... mas (obviamente?), Vai dar errado se o seu código / outras coisas é alterado através de outros meios. Para que possa ser feito para não fazer isso se for necessário.