Использование Capistrano для развертывания (не-Rails сайт) через FTP? - PullRequest
19 голосов
/ 29 ноября 2008

Как бы я поступил об этом?

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

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

Ответы [ 2 ]

16 голосов
/ 29 ноября 2008

Мы используем 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 голосов
/ 29 ноября 2008

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

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...