2014-09-12 2 views
0

우리는 최선의 방법을 계속 결정하려고 노력하고 있습니다. 현재 우리는 관리하는 전용 서버와 관리하는 일부 고객 인프라에 Windows 서비스가 배포 된 asp.net MVC 웹 사이트를 운영하고 있습니다. 아직 표준 Windows 배포를 지원해야하지만 Azure로 응용 프로그램을 마이그레이션하는 중입니다. 우리는 이것을 처리했지만 구성 파일은 문제입니다.여러 배포를위한 구성 처리

현재 컴퓨터 이름과 구성된 고객에 따라로드되는 사용자 지정 XML 파일이 있으므로 machine-01이라는 컴퓨터의 경우 machine-01 폴더로 이동하고 customer-01 인 경우 customer-01 it customer-01.config의 해당 폴더에서 파일을 찾습니다. 각 개발 컴퓨터가 자체 구성 파일을 가지고 있으므로 고객을위한 구성 파일을 만들고이를 TFS에 저장할 수 있기 때문에 이것은 우리에게 유리했습니다. 우리는 수동으로 설정 파일을 복사 주위보다는 자동 배포가있는

  1. 이와

    문제는 두 배입니다.

  2. 생산 자격 증명은 TFS이며 모든 개발자가 사용할 수 있지만 잘못된 설정을 자체 파일에 복사하는 경우 프로덕션 자격 증명을 실행할 수는 없습니다.

구성 변환을 살펴 보았지만 web.config/app.config는 사용자 지정 XML 파일에서로드하므로 사용하지 않습니다. Visual Studio 내에서 사용자 정의 XML 파일에 대한 구성 변환을 수행 할 수 있습니까?

TFS에서 여전히 생산 자격 증명을 남겨두고 여전히 잘못된 구성으로 컴파일되고 로컬로 실행되는 위험을 감수하면서이 솔루션에 만족하지는 않습니다.

우리는 4 가지 개별 배포 만 있지만 제품이 시스템과 맞춤식 플러그 가능 프로젝트로 상당히 통합되면서 더 많은 고객이 자체 인프라를 호스팅하려고하는 것처럼 보입니다.

제 질문은 개발 환경에서 사용되는 생산 자격 증명의 위험을 완화하기 위해 TFS/다른 개발자로부터 생산 자격 증명을 숨기려는 관점에서 여러 구성 파일이있는 곳에 이러한 유형의 배포를 처리하는 방법입니다. azure 및 self hosted windows 로의 배치 자동화 관점.

내 연구는 2006/2008 년부터 기사를 불러오고 지금은 더 나은 방법이 있다고 생각합니다. 우리는 TFS에도 Visual Studio Online을 사용하고 있습니다.

답변

0

나는 과거에 XmlPreprocess을 사용하여 성공했습니다. 아이디어는 처리 할 수 ​​있도록 설정 파일을 마크 업하고 Excel 파일과 같은 소스에서 가져온 값으로 매크로를 대체하는 것입니다. 또한 소스가 있으며 특정 요구에 맞게 도구를 적용 할 수 있습니다.

0

Visual Studio 용 릴리스 관리를 살펴 보겠습니다. 그것은 당신이 말하고있는 것을 수행하고 권한의 추적 성을 유지하도록 고안되었습니다. 여러 환경을 통해 릴리스 파이프 라인을 만들고 각 환경의 모든 변수를 자동으로 처리 할 수 ​​있습니다.

이 모델을 사용하면 로컬 값을 가진 개발자와 교체 가능한 변수가있는 RM에 대해 하나의 Web.config가 있습니다. 전개 시간에는 모든 것이 처리됩니다.

0

최근 환경별로 템플릿 기반 구성 파일을 처리하는 오픈 소스 프로젝트를 만들었습니다.

참조 : https://contemplate.codeplex.com/

당신은, 용액에 여러 설정 파일을 환경 당 하나 개의 파일에서 설정을 유지하고 당신이 그들을 필요로 할 때 설정 파일을 생성 할 수 있습니다.