2009-10-08 10 views
2

현재 서버에 사이트 롤아웃을 관리 한 다음 데모/acc/라이브 모드 사이에서 사이트를 전환하는 방식은 약간의 어려움이 있습니다. 전체 프로세스를 향상시킵니다.프로덕션 서버에서 데모/스테이징/라이브 사이의 사이트 배포 관리

저는 자동 배포 도구뿐만 아니라 서버 구성 방법을 검토했습니다. 다른 게시물에 대한 자동화 된 배포 질문을 저장합니다. 여기서 사람들은 프로덕션 서버에서 코드를 구성하는 방법에 관심이 있습니다.

현재 데이터 드라이브에 "데모", "수락"및 "라이브"라는 최상위 폴더가 3 개 있습니다. 어떤 것을 "데모"또는 "acc"로 분류하는지 사이에 뚜렷한 차이점이 있습니다. 내가 들어 가지 않을 것입니다. 나는 모든 논쟁/애매함을 없애고 싶습니다.

우리의 롤아웃 절차는 다음과 같습니다. 사이트가 개발되면 "acceptance"폴더 아래 acceptance.project-domain.com과 같은 "acceptance"호스트 헤더에서 롤아웃합니다. 클라이언트는 사이트를 검토하고 모든 연결 문자열/사용 권한 등이 올바른지 테스트 할 수 있습니다. 클라이언트가 OK를 제공합니다. 이 시점에서 우리는 "라이브"폴더 아래에서 사이트를 완전히 다시 롤아웃하고 라이브 호스트 헤더를 제공합니다. 물론이 시점에서 사이트는 배포 된 상태에서 완전히 테스트되지 않습니다 (여기서 단위 테스트에 대해 말하지 않고 파일 권한, iis 설치 실수 등을 말합니다).

/<customer>/<project>/<fullversion>/wwwroot 

이 방법은 새로운 사이트는 아래 version1 폴더에 출시 될 수 있습니다 :이 사이트는 다음 다시 테스트 할 :(

내가 이런 구조 뭔가 훨씬 더 좋을 것이라고 생각이있다 "acc"호스트 헤더. 클라이언트가 확인을하면 간단히 헤더를 전환하고 사용자는 사라집니다. 변경 요청이있는 경우 acceptheader를 가질 수있는 v1.1 아래로 이동합니다. 일단 확인을 얻으면 헤더를 바꿉니다 그리고 당신은 좋다. 린스와 반복

이 과정은 자동화 된 deplo yment 스크립트. 단일 상위 폴더 아래에 사이트에 대한 모든 코드가 있다는 것은 업로드 권한이 단일 사이트로 제한된다는 것을 의미하므로 실수로 다른 사이트의 코드를 덮어 쓸 수 없으며 서버에있는 버전을 추적하기가 훨씬 쉽습니다. 프로젝트 관리 위키를 쉽게 관리 할 수 ​​있습니다 ... 목록이 계속됩니다!

코드 구성 및 롤아웃 관리 방법은 무엇입니까?

답변

1

대부분의 사람들은 테스트 및 라이브 용으로 별도의 서버를 사용하기 때문에 제안한 방식대로 작동하지 않습니다.

프로젝트에서 모든 구성을 제거 했으므로 테스트 및 실제 시스템에 똑같은 코드를 정확히 배포 할 수 있으며 올바른 구성을 자동으로 선택합니다. 이렇게하면 예기치 않은 "oops 나는 살아있는 대신에 테스트를 가리키고 있습니다"라는 순간을 막을 수 있습니다.

당신의 아이디어는 잘 돌아갈 수 있습니다. 그러나 서버를 앞으로 나눠서 결정한다면 (예를 들어 라이브 웹 사이트에 잠재적으로 영향을 줄 수있는 경우 성능 테스트를 정확하게 수행 할 수 없습니다).