2012-08-28 5 views
1

현재 내 앱이 실행되는 환경을 기반으로 내 의존성 삽입 컨테이너를 만드는 데 사용되는 네 개의 XML 파일이 있습니다. 주장/테스트에 적용 오버라이드 (override)를 포함 우리 지역의 방랑 개발 환경 종속성 삽입 구성을 버전 제어해야합니까?

  • staging.xml에 적용 오버라이드 (override)를 포함하는
    • dev.xml :
      • base.xml

        을위한 기초 역할을 내 기본 구성입니다 환경
      • production.xml 프로덕션 서버에 대한 재정의가 포함되어 있습니다.

    이 파일들이 응용 프로그램 코드와 함께 버전 제어하에 있어야한다는 확신이 없습니다. 모든 민감한 데이터는 CVS에서 무시 된 구성 파일에 저장되므로 민감한 데이터는 문제가되지 않습니다. 그것은 오히려 전 완전히 내 애플 리케이션을 실행하는 각 환경에 대한 버전 제어하에 XML 파일을 갖는 것은 확실하지 않다.

    예를 들어 준비 서버와 테스트 서버를 분리하면 새 서버에 대해 추가 .xml 구성 파일을 만들어야합니다. 그리고 미래에 다른 시스템 (OS, 웹 서버, 데이터베이스 등)에서 테스트하고 싶다면 아마도 테스트 할 각 시스템에 대해 .xml 파일을 만들어야 할 것입니다.

    나는 단지 편집증 적이거나이 문제에 대한 일반적인 합의가 무엇입니까?

  • +3

    이 구성을 백업 하시겠습니까? 모든 개발자가 동일한 파일을 사용하도록 하시겠습니까? 자동 빌드 프로세스에서이 파일을 사용 하시겠습니까? 이 질문 중 하나라도 '예'라고 답하면이 파일은 VCS에 속합니다. – Steven

    +1

    @Steven : 그 대답과 조잡한 코멘트가 아닙니다;) – jgauffin

    답변

    4

    소스 제어에서 다른 환경의 구성 파일을 유지하지 않는 이유를 알지 못합니다. 필자는 누군가의 시스템이나 네트워크 공유 드라이브에있는 파일에 의존하지 않도록 소스 파일에 구성 파일을 보관하는 것이 일반적으로 좋은 방법이라고 생각합니다. 또한 갑자기 모든 것이 손상되었을 때 이전 버전으로 되돌리거나 무언가의 기록을 확인해야하는 경우 소스 제어 내역을 신뢰할 수있는 친구로 유지해야합니다.

    변경하지 않아도 파일을 소스 제어하는 ​​것이 가장 중요하다고 생각합니다.