2011-09-16 3 views
0

저는 배포하는 ASP.NET 웹 응용 프로그램을 가지고 있으며 시작할 때 어떤 환경을 관리해야하는지 관리하는 가장 좋은 방법을 알아 내려고하고 어떤 옵션도 간과하지 않았는지 확인하려고합니다 .실행중인 asp.net 웹 응용 프로그램을 원격으로 구성하는 가장 좋은 방법은 무엇입니까?

처음에는 약간의 배경이 있습니다.

응용 프로그램은 연속 빌드로 생성 된 아티팩트를 사용하여 빌드 서버에서 자동으로 배포됩니다.

이 질문은
/Config/Environments/Development.xml 
/Config/Environments/UAT.xml 
/Config/Environments/Production.xml 

가 어떤 응용 프로그램에 표시 할 수있는 가장 좋은 방법입니다 것은 그것이해야 환경 설정 파일을 시작할 때 : 배포 패키지는 사용 가능한 모든 환경에 대한 구성 설정이 포함되어 있습니다, 그래서 당신은 이런 식으로 뭔가와 끝까지 하중?

가능한 경우 실행중인 응용 프로그램의 현재 환경을 바꿀 수있게하고 싶습니다. 필요하다면 언제든지 재배포를 할 수 있으므로 지금은 건너 뛰어도 좋습니다.

특히 웹 배포 패키지가 zip 파일이고이를 수행하면 웹 배포 패키지를 다시 빌드해야하기 때문에 빌드에 의해 생성 된 아티팩트를 변경하지 않는 것이 좋습니다.

나는 다음과 같은 옵션이 왔어요 : 존재하지 않는 경우

  1. 개발에, 기본으로 시작하는 어떤 환경 암시하는 대상 시스템에 환경 변수를 사용합니다. 이 단점의 주된 단점은 다른 환경을 가리키는 동일한 시스템에서 두 개의 애플리케이션 인스턴스를 실행할 수 없으며 일반적으로 동일한 시스템에 uat 및 스테이징 환경을 배치하기 때문에 이것이 문제가 될 수 있다는 것입니다.

  2. 원격으로 web.config를 시작하여 어떤 환경으로 시작해야하는지 알려면 어떻게해야할지 모르지만 최상의 옵션 (?) 일 수 있습니다.

  3. 웹 배포에서 수행 할 수있는 작업이있을 수 있습니다 (예 : 실행시 web.config 값을 설정하라는 메시지가 표시 될 수 있지만 이것이 가능한지 여부는 알 수 없음).

나는 분명한 뭔가를 놓치고 있습니까? 어떤 도움이라도 대단히 감사하겠습니다!

답변

0

은 내가 무슨 짓을했는지하면 다음과 같다, 세 번째 옵션이 실제로 가능하다 밝혀
<parameters> 
    <parameter name="Environment" 
    description="Please provide the environment name for the application." 
    defaultValue="Development" 
    tags=""> 
    <parameterEntry 
     kind="XmlFile" 
     scope="\\web.config$" 
     match="/configuration/appSettings/add[@key='Environment']/@value" /> 
    </parameter> 
</parameters> 

이렇게하면 배포 패키지를 만들 때 동일한 위치에 SetParameters.xml이 만들어집니다.

당신이이 같을 것이다 msbuild를, 예를 들어 당신이 당신의 배포 단계가 실행 중일 때에 배포 할 환경의 값으로 SetParameters.xml, 업데이트 할 수 있습니다

<XmlUpdate 
    XmlFileName="$(DeployFolder)\Project.SetParameters.xml" 
    Xpath="/parameters/setParameter[@name='Environment']/@value" 
    Value="$(Environment)" /> 

지금 당신은 당신의 deploy.cmd을 실행할 수 있습니다 원격 컴퓨터에 배포 할 때 매개 변수를 설정합니다.

0

동일한 컴퓨터에 여러 인스턴스를 배포하는 경우 파일 경로가 도움이 될 수 있다고 생각합니까? 예 : C : \ inetpub \ dev 이것은 아마도 가장 간단한 방법 일 것입니다.

옵션 1을 사용하면 환경 변수에 대한 레지스트리를 사용합니다.

사용중인 빌드 서버에 따라 빌드 스크립트에서 대상 환경을 볼 수도 있습니다.

:

내가 변경하려는 매개 변수를 포함하는 웹 응용 프로그램 프로젝트의 루트에 parameters.xml 파일을 만듭니다

관련 문제