2010-06-16 3 views
1

나는 다른 기관과 함께 고객의 .net 3.5 웹 사이트를 수년 동안 유지 관리하는 기관에서 근무하고 있습니다. 워크숍은 클라이언트에 의해 양쪽 기관에 매우 임시로 이루어집니다.2 개 회사가 유지 관리하는 사이트의 배포 프로세스

사이트가 상당히 오래되었으며 일치시킬 구조 및 배포 프로세스가 있습니다. 개발자가 사이트의 로컬 복사본을 가지고있는 사이트입니다. 클라이언트의 피드백과 승인이 이루어지고 라이브 환경이 뒤 따르는 스테이징 환경이 있습니다. 한 대행사의 작업이 승인 대기중인 준비 환경에 있고, 다른 대행사의 변경 사항은 원래 변경 사항이 영향을받지 않고 준비, 승인 및 배포를 거쳐야합니다. 우리는 대부분의 시간을 가지지 만, 모든 갈등을 해결할 수있는 것은 아니기 때문에 이상적이지 않습니다.

최근까지도 Sourcesafe를 사용했지만 Subversion으로 이전하여 작업을 덮어 쓰는 더 많은 시나리오가 실행되고 있습니다. 이것은 명백히 전복에 대한 결함이 아니라 Sourcesafe에서 프로젝트와 파일을 잠그는 것이 두 프로젝트의 개발자가 프로젝트 또는 파일에서 작업하고 있음을 보여주는 좋은 지표가되었습니다. 이전에는 소스 세이프에서 파일을 체크 아웃하고 변경 사항이 생길 때까지 체크 아웃을 유지했습니다. (쓰레기 처리이므로 소스 세이프 모델과 같은 모델에서 벗어나려는 욕구가 있음을 인정하십시오)

문제는 비록 우리가 지금하는 방식이 나쁘다는 것을 알고 있지만 전반적인 사이트와 배포 프로세스를 어떻게 재구성하여보다 "더 나은"방법으로 만들지에 대해서는 약간의 손실이 있습니다. 우리가 숙고 한 몇 가지 아이디어가 있습니다 : 파괴의

  • 별도 dev에, 테스트 및 라이브 지점 그래서 우리는 커밋 (그 일을하는 방법을 정말 확실하지) 배포하기 전에
  • 단일 저장소를 적절한 지점을 구축해야 두 대행사는 각각 별도의 준비 환경을 제공합니다. 환경을 준비하는 것은 다음
  • 각 지점

다음 단계 또는 SO 지역 사회에서 비슷한 상황 및 솔루션의 예 어떤 제안을위한 준비 사이트의 별도의 인스턴스가 크게 감상 할 수 각 기관에 할당 된 변경 사항을 반영 할 수 !

감사

조엘

답변

0

내가 권 해드립니다 것이다 :

  • 사용 자식, 변경 내용을 병합하는 방법을 작업에 대한 정말 아주 좋은.
  • 각 회사마다 별도의 준비 환경을 설정 한 다음 변경 사항이 승인되면 병합 된 문제를 정렬하는 데 도움이되는 최종 준비 환경으로 병합 한 다음 살기 위해 밀어 넣습니다.
  • 두 대행사가 누가 무엇을하는지 알고 있는지 확인하고 다른 대행사가 다른 대행사가 완료 될 때까지 다른 대행사에서 작업을 마칠 때까지 기다리려고합니다. 결국 이것이 최고의 솔루션이고, 약간의 커뮤니케이션이 이루어집니다. .
+0

의견을 보내 주셔서 감사합니다. Git을 사용하지 않았기 때문에 확실히 살펴볼 것입니다. 별도의 스테이징 환경에 대한 아이디어가 마음에 들지만 최종 스테이징 환경에서 어떻게 병합 프로세스가 작동하는지 알고 싶습니까? Subversion을 설치하는 것은 (또는 우리가 사용하는 방법) 트렁크를 사용하는 것에서 변경해야합니까 ?? – swingdoctor

+0

죄송합니다. 전성복을 사용하지 않았지만 인기가있는 것으로 알고 있습니다. 한 번에 한 당사자가 최종 스테이징 영역을 "보류"하는 동시에 테스트를 위해 개별 스테이징 영역을 할당하는 것을 볼 수 있습니다. – thomasfedb

+0

우리는 각 회사의 분할 된 테스트 환경과 각 회사의 별도의 Subversion 저장소를 고려해야한다고 생각합니다. 라이브를 배포하기 전에 변경 사항을 통합하고 테스트 할 수있는 "프리 라이브"환경을 갖추게됩니다. 우리가 무언가를 보낼 때 병합 할 주요 전복 저장소도있을 것입니다 ... 전복은 가지의 합병을 아주 잘 처리합니다. 우리는 이것을 시도 할 것이지만, 이론 상으로는, 우리의 모든 문제는 아니지만 많은 것을 해결할 수있는 유효한 접근법으로 들린다. – swingdoctor