7

다른 환경에 대해 여러 동시 버전이있는 단일 구성 파일을 필요로하는 프로젝트 관리에 서브 버전 (SVN)을 사용하는 것이 가장 좋습니다.프로젝트 구성 파일의 서브 버전 관리

e.e.

  • 프로젝트 ABC는 약간 수정 된 구성 파일을 제외하고 동일한 코드를 사용하는 세 가지 다른 환경에 사용됩니다. AND
  • 프로젝트 ABC는 여러 개발자가 각 개발자에 대해 약간 수정 된 구성 파일을 사용하여 개발합니다.

구성 파일 템플리트 및 svn : ignore를 사용할 수 있지만이 접근법 및/또는 기타 적합한 대체 방법에 대한 모범 사례를 설명 할 수 있는지 궁금해하고 있습니다.

미리 감사드립니다.

M.

답변

3

이것이 "가장 좋은 방법"하지만 난이 처리하는 방법이 있고 그것을 아주 잘 작동하는지 모르겠어요. 몇 가지 애플 리케이션을 가지고 있으며 각각 프로덕션, 스테이징 및 개발 환경을위한 별도의 구성 파일을 가지고 있습니다. configs의 이름은 web.config, stage.config 및 dev.config입니다. 세 가지 모두 버전 제어하에 보관됩니다. 응용 프로그램은 web.config를 사용하여 구성 설정을 검색하고 사용합니다. 크루즈 컨트롤에 의해 호출 된 NANT 빌드 및 배포 스크립트의 일부로 배포 할 환경에 따라 적절한 구성의 이름이 web.config로 변경되어 배포됩니다.

희망이 도움이됩니다.

+0

나 두 번째. 또한 설정 파일 (예 : 몇 가지 SQL 문과 몇 가지 응용 프로그램 설정)간에 차이가 거의없는 경우 사용할 수있는이 메서드의 약간의 변경은 빌드 스크립트 자체에 변경 내용을 저장하고 NAnt의 xmlpoke를 사용하여 적절한 연결 문자열로 업데이트하십시오. 그런 다음 자신의 저장소에 스크립트를 작성하고 프로덕션 암호를 코드 기반과 별도로 유지할 수 있습니다. –

1

소스 제어에 여러 파일을 보관하는 것은 까다로울 수 있습니다. 우리는 시스템 환경 변수를 읽고 일치하는 구성 파일을 읽고 공유 구성 파일을 수정하는 가정용 양조 구성 도구를 사용합니다. 나는 그것이 훌륭한 해결책이라고 말할 수는 없지만 작동합니다.

0

여러 해 동안 성공한 많은 프로젝트에서 시스템 또는 개발자 별 설정 파일을 버전 화하지 않았습니다. 때로는 데이터베이스 액세스 정보이거나 몇 가지 중요한 경로 또는 기타 사항 일 수 있습니다. 가능한 한 작게하십시오. 그 정보를 버전 화하지 않는 것에 대해 나쁘게 생각하지 마십시오. 이것은 여러 프로젝트에서 2 ~ 5 명 사이의 개발자가 수행 한 것으로 실제 프로젝트에서 혼동, 문제 또는 토론을 한 적이 없습니다.

0

제 생각에는 모든 configuartion 파일을 버전 제어하에 유지하는 데는 아무런 소용이 없습니다. 내 프로젝트 중 하나에서 우리는 같은 템플릿의 여러 플랫폼에 대해 cmake로 만든 구성 파일을 가지고있었습니다. 우리 팀의 모든 개발자는 필요한 구성을 작성하기 위해 사용자 정의 된 추가 스크립트를 가지고있었습니다.

+0

하지만 vesion 컨트롤에서 설정 파일을 커밋하지 않은 경우 어느 것이 기본 설정인지에 대해 어떻게 동의합니까? 최소한 기본 템플릿이 필요하나요? – sivabudh