2013-05-26 4 views
3

capifony이라는 훌륭한 도구가 있는데 심포니 2 응용 프로그램을 개발하는 동안 매우 유용하며 다단계 옵션으로 작업하고 싶습니다. 모두 잘 작동하지만 다른 단계의 데이터베이스 구성에 한 가지 문제가 있습니다.capifony 다중 스테이지 배포 및 데이터베이스 구성

생각에는 우리가 있습니다

  • 3 환경 : 개발, 생산,
  • 3 서버 준비 : 지역 - 개발, my.site.com - 생산 및 staging.my.site.com -
  • 을 준비를

이 표준 다단계 예제에 대해 capifony를 설치하는 방법은 무엇입니까?

우리는 호출 할 때 :

cap production deploy:migrations 

또는

cap staging deploy:migrations 

capifony 모든 심포니의 콘솔 명령에 대한

--env=prod 

를 사용합니다. 우리가 전화를하기 때문에 문제가있다 : 준비 서버에 대한

app/console doctrine:migrations:migrate --env=prod 

만에 사용되는 데이터베이스 구성은 "자극"그래서 우리는 생산 설정에서 스키마 업데이트를 실행 ... 어떻게 그것을 해결하기 위해? 원래의 질문에

답변

4

해결책은 간단하다, deploy.rb

그러나set :symfony_env_prod, "staging"를 사용하여, 당신은 환경과 서버를 혼합 것으로 보인다.

각 서버는 완전한 패키지로 취급되어야하며 별도의 데이터베이스를 포함하여 모든 환경 (예 : 프로덕션 환경의 dev 서버)을 지원해야합니다.

또한 스테이징 서버 설정은 프로덕션 환경에 가능한 한 가까이 있어야합니다 (즉, 스테이징 서버의 전체 지점). 프로덕션 환경에서 실행해야합니다.

+0

환경당 하나의 서버가 있어야한다는 의미입니까? 호스팅 제공 업체가 제공하는 공유 호스팅의 경우 : 데이터베이스 호스트에만 "localhost"가 표시됩니다. –

+0

두 개의 다른 서버가 필요하지 않습니다. stage.myapp.com (스테이징) 및 myapp.com (제품 용)과 같은 다른 도메인/가상 호스트에 배포하십시오. 두 개의 데이터베이스 myapp_staging 및 myapp_production을 만들고 원격 서버의 parameters.yml을 사용하여 이들에 연결하십시오. – webDEVILopers