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

StackOverflow https://stackoverflow.com/questions/327417

  •  11-07-2019
  •  | 
  •  

Вопрос

Как бы мне это сделать?

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

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

Это было полезно?

Решение

Мы используем 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, и она должна работать нормально.

Другие советы

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top