2010-05-26 5 views
5

여기에 애플리케이션을 배치하는 방법에 대해 많이 읽었지만 아직 우리의 필요에 대한 적절한 답을 찾지 못했습니다.젠드 웹 애플리케이션을 배포하기위한 최선의 방법

우리는 원격 서버에 배포하려는 zend 프레임 워크로 구축 된 대형 웹 애플리케이션을 보유하고 있습니다. 우리는 새 버전의 응용 프로그램을 프로덕션 서버에 쉽고 안전하게 배포 할 수 있기를 원합니다. 수행 할 조치

은 다음

  • 생산 응용 프로그램에서 유지 보수 페이지를 넣어?
  • SVN
  • 에서
  • 수출 버전은 파일과 디렉토리
  • 복사/동기화
  • 설정 파일 사용 권한을 (쉘 스크립트 완료) 쉘 스크립트가 특정 디렉토리에 CSS 파일을 작게를 위해 실행? 프로덕션 서버로 파일 -> 변경된 파일 만?
  • 프로덕션 응용 프로그램에서 유지 관리 페이지를 제거 하시겠습니까?

우리는 코드 버전 관리 도구로 SVN을 사용하고 있으며 우리는 운영중인 서버 OS로 CentOS를 실행하고 있습니다.

나는 약 읽었습니다 :

  • 사용자 정의 쉘 스크립트
  • 를 phing

    • rsync를
    • fredistrano/카피 스트라 노
    • 쉽게 한 번의 클릭으로 배포에 대한 조언은 무엇입니까?

    +0

    유사 : http://stackoverflow.com/questions/1143154/how-to-deploy -your-php-applications-correctly – Sampson

    +0

    또 다른 유사 : http://stackoverflow.com/questions/2006461/how-to-do-deployment-for-php-application –

    답변

    3

    내가 수출 (또는 체크 아웃) 다른 이름 (일반적으로 Subversion을 개정 번호 & 날짜) 아래에있는 사이트의 사본 및 문서 루트가에 아파치에 설정되어

    1000.20100515/ 
        application/ 
        public/ 
        library/ 
    1020.20100621/ 
    current (symlink to 1000.20100515/) 
    dev (symlink to 1020.20100621/) 
    
    # copy whatever 'dev' points to as the new 'current' symlink. 
    rm current && cp -d dev current 
    

    장소로 문서 루트를 심볼릭 링크 ../current/public

    이렇게하면 여유롭게 사이트의 새 버전을 확인하고 새 버전을 1 분의 1 초 안에 게시 할 수 있습니다. 중요한 문제가 발견되면 symlink를 변경하는 것만 큼 쉽게 이전 버전의 사이트로 롤백 할 수 있습니다.

    추가 루비 기반 도구 'Capistrano은'완전히 기계의 수 (그 중 하나, 또는 수십 일)에 걸쳐이 작업을 자동화 할 수있는 좋은 방법이 될 수 있으며, 실제로 지금 배포 나의 선호하는 방법입니다. Capifony은 Capistrano 용 플러그인으로 Composer 기반 프로젝트도 지원합니다.

    +3

    그리고 어떻게 DB 스키마 변경을 처리합니까? 그것은 재미가 시작되는 곳입니다 : p. – wimvds

    +0

    그래, 그뿐 아니라 듣고 싶어요. Dbdeploy? – Jorre

    +0

    .... 신중하게. –

    0

    카피 스트라 노를 시도해보십시오. Ruby 용으로 개발되었으며 Ruby를 컴퓨터에 설치해야하지만 대상 서버에 Ruby를 설치할 필요는 없습니다.

    git 또는 svn에서 작동하며 대상 서버에 버전을 생성합니다. 한 줄의 CMD로 새 버전을 롤백하고 배포 할 수 있습니다.

    나는이 튜토리얼 발견

    : http://tfountain.co.uk/blog/2009/5/11/zend-framework-capistrano-deployment

    현재 다른 튜토리얼 카피 스트라 노의 수정 된 버전을 : http://www.codewithstyle.eu/2011/05/03/deploying-zend-framework-applications-using-capistrano/