Capistrano를 사용하여 FTP를 통해 배치 (비 레일 사이트)?
-
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 서버의 상태의 로컬 캐시를 유지합니다. 이것은 좋고 크게 속도를 내지 만 ... 분명히? (분명히?) 코드/다른 물건이 다른 수단을 통해 변경되면 잘못 될 것입니다. 따라서 필요하다면 그렇게하지 않도록 만들 수 있습니다.
제휴하지 않습니다 StackOverflow