웹 배포용 Team Foundation Server 구성

작성자: Jason Lee

이 자습서에서는 솔루션을 빌드하고 다양한 대상 환경에 웹 콘텐츠를 배포하도록 TFS(Team Foundation Server) 2010을 구성하는 방법을 보여 줍니다. 여기에는 개발자가 변경할 때마다 콘텐츠를 자동으로 배포하는 CI(연속 통합) 시나리오가 포함됩니다. 또한 관리자가 테스트 환경에서 빌드를 확인하고 유효성을 검사한 후 특정 빌드의 배포를 스테이징 환경에 트리거할 수 있는 수동 트리거 시나리오를 포함할 수 있습니다. 이 자습서의 topics 다음을 포함하여 전체 구성 프로세스를 안내합니다.

  • TFS에서 새 팀 프로젝트를 만드는 방법
  • 원본 제어에 콘텐츠를 추가하는 방법입니다.
  • CI 및 배포를 지원하도록 빌드 서버를 구성하는 방법입니다.
  • 배포 논리를 포함하는 빌드 정의를 만드는 방법입니다.
  • 자동화된 배포에 대한 권한을 구성하는 방법입니다.

이 자습서의 이탈리아어 번역을 보려면 을 방문하세요 http://www.lucamorelli.it.

이 자습서에서는 TFS 2010을 설치하고 초기 구성 프로세스의 일부로 팀 프로젝트 컬렉션을 만들었다고 가정합니다. Visual Studio 2010용 Team Foundation 설치 가이드는 이러한 작업에 대한 포괄적인 지침을 제공합니다.

Context

이는 Fabrikam, Inc.라는 가상 회사의 엔터프라이즈 배포 요구 사항을 기반으로 하는 일련의 자습서의 일부를 형성합니다. 이 자습서 시리즈에서는 샘플 솔루션인 Contact Manager 솔루션을 사용하여 ASP.NET MVC 3 애플리케이션, WCF(Windows Communication Foundation) 서비스 및 데이터베이스 프로젝트를 포함하여 현실적인 수준의 복잡성이 있는 웹 애플리케이션을 나타냅니다.

이러한 자습서의 핵심인 배포 방법은 빌드 프로세스 이해에 설명된 분할 프로젝트 파일 접근 방식을 기반으로 하며, 빌드 프로세스는 모든 대상 환경에 적용되는 빌드 지침과 환경별 빌드 및 배포 설정을 포함하는 두 개의 프로젝트 파일에 의해 제어됩니다. 빌드 시 환경별 프로젝트 파일은 환경에 구애받지 않은 프로젝트 파일로 병합되어 전체 빌드 지침 집합을 형성합니다.

시나리오 개요

이러한 자습서에 대한 개략적인 시나리오는 엔터프라이즈 웹 배포: 시나리오 개요에 설명되어 있습니다. 이 자습서를 시작하기 전에 이 항목을 검토하는 것이 좋습니다.

이 자습서를 사용하는 방법

이 자습서에서 설명한 작업을 처음 수행했거나 샘플 솔루션을 사용하여 예제를 수행하려는 경우 자습서 topics 순서대로 작업해야 합니다. 또는 개별 topics 특정 작업에 대한 지침으로 사용할 수 있습니다. 이 자습서에는 다음 topics 포함되어 있습니다.

  • TFS에서 팀 프로젝트 만들기 팀 프로젝트는 TFS에서 소스 제어, 프로세스 관리 및 빌드를 위한 핵심 단위입니다. 원본 제어에 콘텐츠를 추가하거나 빌드 정의를 만들려면 팀 프로젝트를 만들어야 합니다.
  • 소스 제어에 콘텐츠 추가. 팀 프로젝트를 만든 후에는 소스 제어에 콘텐츠 추가를 시작할 수 있습니다. 빌드 구성을 시작하려면 먼저 프로젝트 및 솔루션을 외부 종속성과 함께 추가해야 합니다.
  • 웹 배포용 TFS 빌드 서버 구성 팀 프로젝트 콘텐츠를 빌드하려면 빌드 서버를 구성해야 합니다. 대부분의 경우 TFS 설치와는 별도의 컴퓨터에 있어야 합니다. 빌드 서버를 구성하려면 TFS 빌드 서비스를 설치 및 구성하고, Visual Studio 2010을 설치하고, 빌드 컨트롤러 및 빌드 에이전트를 만들고, 성공적으로 빌드하기 위해 코드에 필요한 제품 또는 구성 요소를 설치하고, IIS(인터넷 정보 서비스) 웹 배포 도구(웹 배포)를 설치해야 합니다.
  • 배포를 지원하는 빌드 정의를 만듭니다. TFS에서 빌드 큐 또는 트리거를 시작하려면 먼저 팀 프로젝트에 대한 빌드 정의를 하나 이상 만들어야 합니다. 빌드 정의는 빌드에 포함해야 하는 항목, 빌드를 트리거해야 하는 항목 및 팀 빌드에서 빌드 출력을 보내야 하는 위치를 포함하여 빌드의 모든 측면을 정의합니다. 자동화된 빌드에 배포 논리를 포함할 수 있는 MSBuild(사용자 지정 Microsoft Build Engine) 프로젝트 파일을 실행하도록 빌드 정의를 구성할 수 있습니다.
  • 특정 빌드 배포 많은 시나리오에서 최신 빌드가 아닌 특정 빌드를 대상 환경에 배포하려고 합니다. 이 경우 특정 drop 폴더의 콘텐츠를 배포하는 빌드 정의를 구성할 수 있습니다.
  • 팀 빌드 배포에 대한 권한 구성 빌드 서비스가 자동화된 빌드 프로세스의 일부로 콘텐츠를 배포하는 경우 대상 웹 서버 및 데이터베이스 서버의 빌드 서비스 계정에 다양한 권한을 부여해야 합니다.

주요 기술

이 자습서에서는 이러한 제품 및 기술을 사용하여 자동화된 빌드 및 웹 배포를 지원하는 방법에 중점을 둡니다.

  • Visual Studio Team Foundation Server 2010
  • 팀 빌드 및 MSBuild
  • 웹 배포

이 자습서에서는 Windows Server 2008 R2, IIS 7.5, SQL Server 2008 R2, ASP.NET 4.0 및 ASP.NET MVC 3의 사용에 대해서도 설명합니다.

이 시리즈의 다른 자습서

이는 엔터프라이즈 규모 웹 배포에 대한 5가지 자습서의 일부를 구성합니다. 시리즈의 다른 자습서는 다음과 같습니다.

  • 엔터프라이즈 시나리오에서 웹 애플리케이션 배포 이 소개 콘텐츠는 자습서 시리즈의 컨텍스트 배경을 제공합니다. 자습서 시나리오를 설명하고 시리즈 전반에 걸쳐 설명된 작업 및 연습이 더 광범위한 ALM(애플리케이션 수명 주기 관리) 프로세스에 어떻게 부합하는지 보여 줍니다.
  • 엔터프라이즈의 웹 배포. 이 자습서에서는 MSBuild 프로젝트 파일, WPP(웹 게시 파이프라인), 웹 배포 및 기타 관련 기술에 대한 개념적 소개를 제공합니다. 이러한 도구를 함께 사용하여 복잡한 배포 프로세스를 관리하는 방법을 설명합니다.
  • 웹 배포를 위한 서버 환경 구성 이 자습서에서는 웹 Deployment Agent 서비스(원격 에이전트) 또는 웹 배포 처리기 및 원격 데이터베이스 배포를 사용하는 원격 웹 패키지 배포를 포함하여 다양한 배포 시나리오를 지원하도록 Windows 서버를 구성하는 방법을 설명합니다. 사용자 환경에 적합한 배포 방법을 선택하는 방법에 대한 지침을 제공하며 WFF(Web Farm Framework)를 사용하여 서버 팜의 모든 웹 서버에서 배포된 웹 애플리케이션을 복제하는 방법을 설명합니다.
  • 고급 엔터프라이즈 웹 배포. 이 자습서에서는 여러 환경에 대한 데이터베이스 배포 사용자 지정, 배포에서 파일 및 폴더 제외, 배포 프로세스 중에 웹 애플리케이션을 오프라인으로 전환 등 다양한 고급 배포 작업을 수행하는 방법을 설명합니다.