답변:
규모가 작은 회사의 경우 (자신의 규모가 명확하지 않은 경우) 3 가지 환경 (개발, 단계, 프로덕션)이 일반적입니다. 대기업은 종종 개발자와 단계 사이에 QA 환경을 갖습니다.
이들은 일반적으로 다음과 같이 분류됩니다.
dev : 작업 코드 복사. 개발자가 변경 한 사항이 여기에 배포되어 통합 및 기능을 테스트 할 수 있습니다. 이 환경은 빠르게 업데이트되며 최신 버전의 응용 프로그램이 포함되어 있습니다.
qa : (일부 회사에 해당되는 것은 아닙니다). 품질 보증을위한 환경; 이것은 테스터가 검사를 수행 할 수있는 덜 자주 변경되는 응용 프로그램 버전을 제공합니다. 이를 통해 공통 개정판을보고 할 수 있으므로 개발자는 테스터가 발견 한 특정 문제가 개발 코드에서 이미 수정되었는지 여부를 알 수 있습니다.
준비 :이 릴리스 후보이며이 환경은 일반적으로 프로덕션 환경의 미러입니다. 준비 영역에는 "다음"버전의 응용 프로그램이 포함되어 있으며 실제 운영 전에 최종 스트레스 테스트 및 고객 / 관리자 승인에 사용됩니다.
production : 클라이언트 / 최종 사용자가 액세스 할 수있는 현재 출시 된 응용 프로그램 버전입니다. 이 버전은 예약 된 릴리스를 제외하고 변경하지 않는 것이 좋습니다.
스테이징으로 승격되기 전에 코드가 이동하는 위치와 같이 테스트 환경도 존재하지 않는다는 것에 약간 놀랐습니다.
질문에 대답하려면 :
무대 환경은 프로덕션 환경을 가능한 한 가깝게 반영해야합니다.
배포 절차를 확인하는 데 사용됩니다. 코드가 준비되면 문제없이 배포 할 수 있습니다.
즉, 코드가 준비 단계로 진행됩니다. 배포가 계획대로 진행되었는지 확인하고 (그렇지 않은 경우 문제를 해결하기 위해) 포괄적으로 테스트 및 회귀됩니다.
미국 정부 / 국방부 IT 관련 경험은 다음과 같습니다.
웹 개발자로서 실제로 고려해야 할 세 가지 환경이 있습니다 .
프로덕션 : 최종 사용자를 대상으로하는 최종 릴리스 버전의 제품을 호스팅하도록 구성된 환경입니다. 보안 및 성능에 최적화되어 있습니다. 라이브 서버에서 호스팅됩니다. 경고 및 긴급 지원이 필요합니다. 데이터에 중요합니다. 따라서 데이터가 정기적으로 백업됩니다. 또한 위험 관리 및 재해 복구도 포함됩니다. 프로덕션 환경은 최종 사용자에게 친숙한 오류를 표시하도록 구성되어 있습니다.
준비 : 코드 동결을 선언 한 후 응용 프로그램의 릴리스 후보를 호스팅하도록 환경이 구성되었습니다. 릴리스 후보의 범위에 동의하기 위해 개발 팀과 함께 프로젝트 관리자 / 소유자를 대상으로합니다. 여기에는 품질 보증과 개발 팀이 포함되어 생산을 릴리스하기 전에 최종 수정 및 최종 공급을 수행합니다. 모범 사례는 프로덕션 환경에서 복사 한 라이브 DB에서 사용 가능한 최신 데이터를 사용하여 프로덕션 환경을 모방하는 것입니다. 일반적으로 준비 환경은 내부 팀과 이해 관계자 만 액세스 할 수 있으므로 모든 이해 당사자가 로컬 네트워크에 액세스 할 수있는 경우 공용 서버에서 보호되거나 인트라넷 환경에 게시됩니다. 준비 환경은 중간 또는 전체 기술 오류를 표시하도록 구성되어 있습니다.
개발 : 개발주기 동안 일반적으로 스크럼 환경의 스프린트 (sprint)라고하는 개발주기 동안 자신의 작업을 확인하기 위해 자신의 컴퓨터에서 단일 개발자가 구성한 개인 환경. 개발 환경은 전체 기술 오류를 표시하도록 구성되었습니다.