2012-03-13 4 views
0

이미 서버에 프로덕션 인스턴스가 배포되어 있습니다. 그것의 잘 작동합니다.ROR 배포 : 준비 및 개발 환경

여기 내가해야 할 일이 있습니다. 서버에 준비 및 개발 환경을 배포하십시오. 나는 그것을 수행하기 위해 github에 지점을 이미 만들었습니다.

구성 1) 루비 1.8.6
3) 웹 서버 Nginx에와 vendored되는 난간
2) 얇은
4) I가 이미 파일을 생성에서/usr/지방 /의 nginx/사이트 사용이 가능하고 의/etc/얇은
6) deploy.rb을 만들어 편집하고 config에 dev.rb을 추가하고 배포 폴더
7) 카피 스트라 노 서버에 사용되는 아래 사이트-가능한 폴더
5) 추가 YML 파일 배포 용

질문 : 다른 github 브랜치에서 dev 환경을 어떻게 전개 할 것인가? 그 재부팅/현재 생산 환경에 영향을 미칩니 까?

제작에 영향을받지 않으려합니다. 이 문제에 도움이되는 명령 목록이나 자습서를 제공해주십시오. 나는 ROR을 배우기의 아주 초기 단계에 있으니 조금만 더하십시오. . 도움말은 대단히 감사하겠습니다.

편집 :
1) 보석을 로컬에 설치하고 로컬에서 capify를 실행하여 프로젝트를 완성하십시오. 당신이 config에 deploy.rb에
2) 변경을
3) 세트 : 준비 및 생산
4) 세트 단계 : 준비로 default_stage가 .. 당신은 배포
5 사용자 정의 할 더이 파일을 편집 할 수 있습니다) config/deploy/아래 : 프로덕션을 만들고 ".rb"파일을 준비하십시오. 분기를 마스터 또는 특정 분기로 설정하십시오. rails_env를 staging.rb에서 스테이징으로, production.rb에서 프로덕션으로 설정하십시오. 해당 파일에서 deploy_to를 xxxpath/staging 및 xxxpath/production으로 설정하십시오.
6) 캡 배포 생산
당신이 대부분의 방법 것처럼 보이는

답변

1

에 대한 배포 기본값으로 인해
7) 캡 생산) 4 준비에 배포합니다. 열쇠는 카피스트라노가 각 지사를 파일 시스템의 별도 위치에 배치하는 것입니다. 사이트에서 사용할 수있는 문서 루트는 달라야합니다 (다시 말해 제작 파일을 덮어 쓰지 마십시오). 당신이 안정적으로 생산, 준비 및 개발 지점을 설정 한 경우

두 가지 방법, 당신은 일회성 지점 배포 Using capistrano to deploy from different git branches이 방법을 사용할 수 있습니다 여기에 http://help.github.com/deploy-with-capistrano/

문서화 된 방법을 사용합니다.

여객은 tmp/restart.txt 파일을 검색하여 다시 시작할시기를 확인합니다. 이것은 응용 프로그램 트리 아래에 있으므로 사이트의 특정 변형에만 영향을 주어야합니다.

서버의 용량에 따라 프로덕션 사이트가 다른 환경을 다시 시작할 때 성능이 저하 될 수 있습니다. 당신이 할 수 있다면, 준비, 테스트, dev에 대한 별도의 서버를 얻는 것을 고려해야합니다.

+0

답장 tharrison을 보내 주셔서 감사합니다. 승객을 설치하지 않았습니다. 여전히 프로덕션 환경에 영향을받지 않을 것이라고 확신하십니까? 나는 이것을 몇 시간 만에 발사 할 것이므로 생산에 대한 약간의 부담은 아무도 그것을 사용하지 않으므로별로 중요하지 않다. – sunny31

+0

별도의 데이터베이스가 있고 별도의 분기가 별도의 위치로 체크 아웃 된 경우에는 확인해야합니다. 혼란이 있을지 여부는 각 환경에 대해 별도의 프로세스가 있는지에 달려 있습니다. 다른 프로세스에 영향을 미치지 않고 중지 할 수 있습니까? 그렇다면, 주요 영향은 배치 및 레일로드의 성능 영향입니다. –