2009-11-10 2 views
2

현재 PHP 개발 솔루션이 어떻게 구성되어 있습니까?내 PHP 개발 솔루션에 대한 조언이 필요합니다.

각 개발자는 로컬 컴퓨터에서 작동합니다. 각 개발자는 공통된 SVN 서버 (인트라넷)에 변경 사항을 커밋합니다. 커밋 후크는 스테이징 서버로 변경 사항을 업로드하고 유효성 검사 작업을 수행합니다. 제품 준비가 완료되면 을 수동으로 SFTP를 통해 프로덕션 서버에 배포하십시오.

참고 : 대부분의 경우 - 전부는 아니지만, 서버에 대한 SSH 액세스 권한이없는 경우 대부분 SFTP 만 가능합니다.

스테이징 서버가 업데이트되는 것과 같은 방식으로 프로덕션 서버에 대한 배포를 자동화 할 수 있지만이 솔루션은 단방향으로 만 작동합니다. 문제가 발생하면 이전 버전으로 되돌릴 수 있습니까?

이 솔루션을 개선하려면 어떻게해야합니까?

내 영어를 사용해 주셔서 감사합니다.

+1

SFTP (FTPS와 혼동하지 말 것) 액세스가있는 경우 SSH 액세스 권한도 갖습니다.사용자/패스 조합으로 서버에 ssh를 시도하면 들어갑니다. – Frankie

+2

많은 SFTP 설정으로 인해 SFTP 이외의 다른 쉘을 사용하지 못하게됩니다. 내 모든 서버가 좋은 "멀리"메시지와 연결을 드롭 알아요. –

+0

Paul McMillan이 맞습니다. 저는 쉘을 사용하여 SFTP 만 할 수 있습니다. –

답변

4

당신은 HTTPS WebDAV를 같은 보안 채널을 통해 SVN의 REPO에 액세스 할 프로덕션 서버를 설정할 수 있다면 아마 시도 다음 :

당신이 태그를 입력 할 수 있습니다 프로덕션 서버에서 스크립트를 작성 디렉토리 및/또는 개정 번호/날짜를 입력하고 svn 내보내기를 수행하십시오. 이렇게하면, prod 서버가 svn에서 변경 사항을 가져옵니다.

이제이 스크립트를 안전하게 호출 할 수있는 방법이 있다면 커밋 스크립트를 사용하십시오. Voila, 자네는 자동화가있어.

가장 중요한 점은 계획하지 않은 prod 서버에 자동 업데이트를 수행하지 않으려는 것입니다.

는이 문제를 해결하려면 다음

유일한 무언가가 있는지 만 적절한 변경 관리 직원 만들기 "/ 경로 /로/태그/해제/DIR"

하기 위해 최선을 다하고 자극 업데이트 스크립트를 호출해야 스크립트를 커밋 (또는 현재 수동 prod deplyment를 제어하는 ​​사람은 누구나) repo에서이 디렉토리에 svn 복사본을 수행 할 수 있습니다.

svn copy https://mySvnRepo/yourWebSite/trunk \ 
    https://mySvnRepo/yourWebSite/tags/releases/x.y \ 
    -m "Tagging for production deployment" 

롤링 백에 의해 달성 될 수있다 :

/yourWebsite 
--> /branches 
--> /trunk 
--> /tags 
----> /releases 

무언가처럼 될 것이다 자극에 자동 배포를 트리거 할 것을 약속한다

는 예를 들어, REPO는 다음과 같이 설정 말 이전 릴리스 디렉토리에 커밋합니다. 그러나 이로 인해 롤백되도록 추가 된 새 파일이 생성되지는 않습니다.

물론 귀하의 마일리지는 다를 수 있습니다. 이는 조사에 대한 제안 일뿐입니다. 잘못 설정된 경우 보안 관련 사항과 재난 가능성을 고려해야합니다.

다른 솔루션에 대해서만 생각해도 도움이 되길 바랍니다.

+0

답변 해 주셔서 감사합니다. 훌륭한 아이디어입니다. –