2014-10-06 7 views
0

확장이 필요한 응용 프로그램의 경우 여러 응용 프로그램 인스턴스를 서로 다른 시간에 배포해야합니다.여러 rails3 응용 프로그램 조건부 배포

staging.theapp.tld (for admin testing) 
sandbox.theapp.tld (for user testing, actually in development mode for better logging) 
theapp.tld (actual production mode. To be run with and without 'www.' prefix) 

배포는 세 가지 방법 중 하나로 발생 할 필요가 : - 혼자 준비
(생산 모드에서 테스트 물건) -
준비 + 샌드 박스
- 샌드 박스 + 실제 생산 모드

생산 모드 마스터 서버와 VPS 슬레이브의 수에 제한이 없습니다. 따라서,

master.theapp.tld 
vps1.theapp.tld 
vps1.theapp.tld 

아래에서는 postgresql이 데이터를 VPSes로 업데이트하기위한 마스터 - 슬레이브 프로세스를 실행 중입니다.

관련된 변수의 수 및 설정 업 여러 서버 경험하는 것은, 작품을 고무를 냄의 가능성의 수는 기하 급수적됩니다의 부족을 감안할 때 ... 응용 프로그램의 관련 구성 요소는 다음과 같습니다

gem 'capistrano', '2.14.2' 
gem 'rvm-capistrano', '1.2.7' 
gem 'pg', '0.17.1' 

방법 카피스트라노는 이렇게 구성되어야합니까?

답변

0

이것은 매우 광범위한 질문입니다. 특정 답변을 제공하는 대신 몇 가지 제안 만 할 수 있습니다.

  • capistrano3으로 전환하십시오. 그것은 출시 된 지 오래되었습니다. 여러 응용 프로그램 단일 서버에서뿐만 아니라 다중 서버 지원 :
  • 꽤 많이 당신이 최소한의 설정과 포스트에서 언급 한 모든 것을 지원하는 capistrano-plugins의 일부를 사용하는 대신
  • capistrano-unicorn-nginx 처음
  • 부터 고려한다.
  • capistrano-postgres은 단일 및 다중 서버 구성도 지원합니다. 아직 PostgreSQL 마스터 - 슬레이브 설정을 지원하지 않기 때문에 파트를 자체적으로 수행해야합니다.