Verwenden Sie Capistrano zur Bereitstellung (einer Nicht-Rails-Site) über FTP?
-
11-07-2019 - |
Frage
Wie würde ich das angehen?
Ich habe eine größtenteils statische Website, die auf einem günstigen Webhost gehostet wird, der nur FTP-Zugriff auf das Hosting ermöglicht.Die Site wird in Git verfolgt.Ich verwende OS X.
Ich möchte einfach eine neue Version der Website hochladen cap deploy
Lösung
Wir verwenden capistrano, um unsere in PHP geschriebene Website bereitzustellen.
Aus dem Gedächtnis (ich bin gerade nicht bei der Arbeit) haben wir die Bereitstellung überlastet und rsync für die Synchronisierung über SFTP verwendet.Etwas wie das:
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
Ich bin sicher, Sie könnten rsync durch ein beliebiges FTP-Programm ersetzen und es sollte gut funktionieren.
Andere Tipps
Ich habe es nicht mit Capistrano versucht, aber in meinen eigenen Shell-Skripten habe ich weex
immer verwendet( http://weex.sourceforge.net/ )
implementieren Sites über FTP. Stellen Sie sich vor Sie es mit Capistrano hacken könnte.
Es hält einen lokalen Cache des Zustands des FTP-Servers, so dass es nur die geänderten Dateien hochladen können. Das ist gut, beschleunigt massiv Dinge ... aber (natürlich?), Wird es schief gehen, wenn Ihr Code / andere Sachen über andere Mittel geändert wird. So kann es dies gemacht wird, nicht zu tun, wenn es sein muss.