최근 SVN 또는 GIT를 사용하는 다양한 웹 응용 프로그램 배포 프로세스에 대해 많이 읽었으며 현재 작업 위치를 배포하는 방법을 다시 설계했습니다.
다양한 애자일 방식과 마찬가지로 마스터 또는 트렁크에 투입된 모든 제품은 생산 준비가 완료된 것으로 가정합니다. GitHub와 Etsy ( http://codeascraft.etsy.com/2010/05/20/quantum-of-deployment/) 는이 기준에 따라 작동한다고 말합니다 (Etsy는 실제로 준비 환경이 있음).
이 프로세스는 모든 단위 테스트 및 CI 테스트가 실행되었다고 가정합니다. 로컬 및 CI에서 테스트를 실행 한 다음 트렁크에 커밋합니다. 따라서이 시점에서 코드는 기술적으로 적합합니다.
코드는 기술적으로는 정확하지만 사용자 / 기능 테스트는 특히 프런트 엔드 테스트와 관련하여 더 많은 버그를 발견 할 수 있습니다.
내 질문은 이것입니다. QA 및 비즈니스 소유자는 구현 한 기능 변경을 어디에서 테스트합니까? 트렁크를 커밋하기 전에 로컬 개발 시스템 또는 QA / 스테이징 시스템에서?
트렁크를 사용하는 준비 시스템이 있고 트렁크에 커밋 된 모든 코드가 프로덕션 준비가되었다고 가정하면 ... 어느 시점에서 코드가 서명되고 기술 및 비즈니스 모두에서 프로덕션에 들어가기에 좋습니다. 원근법? 스테이징 머신이 하나만 있고 많은 개발자가 코드를 품질 보증해야하는 경우 많은 개발자 변경 사항이 사인 오프를 기다리는 동안 트렁크에서 어떻게 배치 할 수 있습니까?
다른 사람들이 어떻게 접근했는지 듣고 싶습니까?