2012-10-23 2 views
2

Visual Studio에서 "웹 게시"기능을 사용하여 IIS 7.5에 배포하는 MVC3 응용 프로그램이 있습니다. 하드웨어로드 균형을 조정하고 첫 번째 서버의 설정을 미러링 할 두 번째 서버를 설치해야합니다.웹 2 개의 별도 웹 서버에 배포 하시겠습니까?

저는 웹 팜 프레임 워크에 대해 알고 있는데 이것이 옵션이지만, 컨트롤러 서버가 체인에서 가장 약한 링크라는 생각을 좋아하지 않습니다. 하드웨어 부하 분산 장치를 사용하여 트래픽을 유도하는 것이 좋습니다.

실행할 때마다 별도의 두 서버를 대상으로하는 수동 웹 배포 스크립트를 작성할 수 있습니까? 여기

답변

1

내가 TFS와 함께이 일을하고 어떻게 :

  1. 이 솔루션 구성을 만듭니다. 빌드 -> 구성 관리자를 선택하십시오. 활성 솔루션 구성 드롭 다운에서 새로 만들기를 선택하고 값 (DEV1, DEV2 등)을 입력하십시오. DEV1 구성 등의 경우 프로젝트 컨텍스트의 구성 열이 DEV1인지 확인하십시오.

  2. 게시 프로필 (빌드 -> 게시)을 만듭니다. 각 서버에 대한 프로파일을 작성하십시오 (예 : DEV1 및 DEV2). 연결 탭에서 웹 배포를 선택하고 서버 주소 (/msdeploy.axd와 함께)를 입력하십시오. 이 서버에는 웹 배포가 설치되어 있어야합니다 (Web Deploy 3.5를 사용 중입니다). 연결이 유효한지 확인하고 모든 것이 연결되었는지 확인한 다음 다음을 수행하고 닫습니다. 게시를 누르지 마십시오. 이 파일을 저장하면 프로젝트에서 DEV1.pubxml과 같은 이름의 등록 정보> 게시 프로파일 아래에 새 파일이 생성됩니다. 이 XML 파일에는 필요한 모든 정보가 들어 있습니다.

  3. 변환을위한 웹 구성 파일을 생성하십시오 (web.config를 마우스 오른쪽 단추로 클릭하고 구성 변환 추가를 선택하십시오). 이렇게하면 배포 유형에 따라 다른 웹 구성 값을 가질 수 있습니다. 예를 들어 PROD에 연결 문자열 등을 게시 할 때 다른 값으로 대체 할 수 있습니다. 자세한 내용은 here

  4. 텍스트 편집기에서 엽니 다 (C#을 사용하여 프로젝트 파일 .csproj)입니다. 이 예에서와 같이 DEV1을 검색하십시오. DEV1 | AnyCPU가있는 행을 발견 할 것입니다. 이것은 PropertyGroup 태그의 속성에있는 조건이됩니다. 바로 아래에 PublishProfile 태그를 추가하십시오.

    Adding reference to the Publish Profile

가 이제 설정 : 아래의 스크린 샷이다. TFS Build를 사용했고 Build 정의 파일에서 기억해야 할 것은 Items to Build (프로세스 탭 아래)에서 올바른 구성을 설정하는 것이다.

Items to build setting in the build definition in TFS

당신은이 값이 게시 프로필에서 포착되는 바와 같이, MSBuild를 인수 필드에 구축 할 수있는 목표를 설정할 필요가 없습니다.

빌드를 실행하기위한 모든 것이 이제 설정되었습니다. 빌드에 문제가있는 경우 (올바르지 않은 구성에 대한 오류가 있음) 여기에 대답했습니다 : TFS 2012 Build Definition for web deployment ignores parameters defined in project files

관련 문제