이것은 주로 의사 소통 문제이지만 간단한 기술 및 조직적 조치로 오류를 줄일 수 있습니다. 먼저, 구성 파일의 모든 항목과 쉽게 액세스 할 수있는 예제 또는 "기본"구성 파일에 대한 고품질 문서를 제공해야합니다. 예제 파일 은 prod 팀이 직접 변경하지 않기 때문에 각 환경에 자동으로 배포 할 수 있습니다.
다음으로, 각각의 새로운 릴리스와 함께 중요한 변경 사항이 문서화 된 변경 로그를 제공하십시오. 시스템이없는 경우 시스템 작동을 방해 할 수있는 구성 변경은 항상 중요하므로 정보가 있는지 확인하십시오.
예를 들어 dev 팀이 환경의 application.properties에 몇 가지 키-값 쌍을 추가한다고 가정 해 보겠습니다. 이러한 새 키를 기록하는 가장 좋은 방법은 ops 팀에서 배포가 발생할 때 정확히 어떤 키를 추가해야하는지 알 수 있으므로 새 서비스를 시작하고 키가 없어서 실패 할 가능성을 최소화 할 수 있습니까?
실패의 위험을 줄이는 가장 좋은 방법 은 새 키 가 필요한 방식으로 응용 프로그램을 변경하지 않도록하는 것이므로 가능하면 응용 프로그램은 이전 구성 파일과 역 호환되어야합니다. 종종 새 키가 누락 된 경우에 대해 기본 제공 기본값을 제공하여 애플리케이션이 합리적인 방식으로 작동 할 수 있습니다.
그러나 이것이 가능하지 않으면 시스템은 키가 없을 때 새 서비스가 시작되지 않는 이유를 prod 팀이 쉽게 찾을 수 있도록해야합니다. 이 이야기 명확한 오류 메시지,해야 정확히 키에서 누락 된 파일을 , 필요한 경우 어디에서 정보를 찾기 위해 이 키에 대한 의미있는 항목에 대한 누락 된 키 또는 힌트 또는 예 약을.
구성이 복잡하고 수동 편집이 오류가 발생하기 쉬운 방식으로 형식이 변경되면 구성을 편집하고 최신 버전으로 마이그레이션하기위한 도구를 제공하는 것도 고려할 수 있습니다.
예를 들어, Firefox 웹 브라우저를 사용하고 있으며 각각의 새 릴리스 (자동으로 제공됨)에서 "about : config"페이지에서 확인할 수있는 로컬 구성에 특정 항목이 추가됩니다. 이것은 "프로덕션"환경의 구성과 비슷합니다. 전체 구성은 이전 버전과 완전히 호환되므로 브라우저의 새 릴리스가 있기 때문에 구성에 새 키를 수동으로 추가 할 필요가 없습니다. 그리고 거기에서 무언가를 변경하고 싶을 때 (이전 버전의 일부가 아닌 새로운 항목 일 수도 있음) 도구 / 옵션 메뉴 또는 "about : config"페이지를 사용하여 항목과 일부를 찾을 수 있습니다 종류의 문서. 따라서 시스템을 비슷한 방식으로 구현하는 것이 좋습니다.