답변:
잘 정립 된 소프트웨어 개발 상점에는 다양한 분리 된 환경이 있습니다. "샌드 박스", "개발", "통합 테스트", "사용자 승인 테스트", "성능 테스트"및 마지막으로 "생산"(또는 소프트웨어를 판매 / 배포하는 경우 "베타"및 "일반 릴리스").
이것은 품질의 진보와 엄격한 테스트 여야합니다. 샌드 박스 환경에서 "gee whiz를 컴파일 할 수있다"에서 "플러그를 뽑지 않는 한 사양에 따라 작동한다는 것을 절대적으로 보장합니다".
한 환경에서 다음 환경으로 소프트웨어를 옮기는 것을 "프로모션"이라고합니다. 승격에는 구성 요소의 승격에 적합한 지 확인하기 위해 일종의 품질 보증 및 테스트가 선행되어야합니다.
전체 컨텍스트는 "파일을 프로덕션으로 승격"하거나 이와 유사한 것입니다. 파일이 "더 중요한"또는 "더 중요한"시스템으로 이동한다는 의미입니다. 아마도 이것은 코드 검토, 테스트, Q & A 사인 오프 이후에만 발생합니다.
비유 : 팀 리더는 관리자에게 "홍보"됩니다.
승격 될 때 파일이 한 환경에서 다른 환경으로 어떻게 이동합니까?
이는 테스트 및 프로덕션 환경에 물건을 구축하고 배포하는 방법에 전적으로 달려 있습니다.
그러나 예를 들어 버전 관리에 Git을 사용하고 테스트 환경에 대한 분기와 프로덕션 환경에 대한 분기가 있다고 가정합니다. 이 경우 테스트 브랜치의 변경 사항을 프로덕션 브랜치 에 병합 하고 프로덕션 코드를 재 구축하여 배포 하여 파일 (또는 여러 파일의 변경 사항을 포함하는 변경 집합)을 승격시킬 수 있습니다 . (또는 프로덕션 브랜치의 HEAD를 테스트 브랜치의 변경 세트에 대한 마지막 커밋과 동일하게 재설정 할 수도 있습니다. 또는 체리 픽을 선택할 수도 있습니다 .)