Подтвердить что ты не робот

Использование Capistrano для развертывания (сайт без Rails) через FTP?

Как я могу это сделать?

У меня есть в основном статический сайт, который размещается на дешевом веб-хосте, который разрешает FTP-доступ к хостингу. Сайт отслеживается в git. Я использую OS X.

Я хотел бы загрузить новую версию сайта, просто сделав cap deploy

4b9b3361

Ответ 1

Мы используем capistrano для развертывания нашего сайта, который написан на PHP.

Из памяти (сейчас я не работаю) мы перегружаем развертывание и используем rsync для синхронизации по sftp. Что-то вроде этого:

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

Я уверен, что вы могли бы заменить rsync любой программой ftp, и она должна работать нормально.

Ответ 2

Я не пробовал это с помощью capistrano, но в моих собственных сценариях оболочки я всегда использовал weex

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

для развертывания сайтов по FTP. Представьте, что вы тоже могли бы взломать его с помощью capistrano.

Он хранит локальный кеш состояния FTP-сервера, чтобы он мог загружать только измененные файлы. Это хорошо, значительно ускоряет работу... но (очевидно?), Это пойдет не так, если ваш код/​​другой материал изменится с помощью других средств. Таким образом, это может быть сделано, чтобы не делать этого, если это необходимо.