다음을 통해 공유


방법: Team Foundation Build를 사용하여 변경 내용 배포

업데이트: 2007년 11월

MSBuild 또는 Team Foundation Build를 사용하여 Visual Studio에서 데이터베이스를 빌드 및 배포할 수 있습니다. 빌드 랩 환경에서 데이터베이스 프로젝트를 빌드 및 배포하려면 Team Foundation Build를 사용합니다. Team Foundation Build를 사용하려면 이 소프트웨어가 설치된 컴퓨터가 있어야 합니다. 자세한 내용은 Team Foundation Build 개요를 참조하십시오.

Team Foundation Build를 사용하여 변경 내용을 배포하는 과정은 다음과 같습니다.

  • 빌드 정의를 만듭니다.

  • 빌드 프로젝트 파일을 직접 수정하여 표준 AfterDropBuild 대상을 재정의합니다.

  • 데이터베이스 프로젝트 파일을 직접 수정하여 대상 데이터베이스 및 연결을 지정합니다.

  • 업데이트된 파일을 체크 인합니다.

  • 새 빌드 정의를 사용하여 데이터베이스 프로젝트를 배포합니다.

Team Foundation Build를 사용하여 변경 내용을 배포하기 전에 다음을 수행해야 합니다.

  • 데이터베이스 프로젝트를 준비하고 속성을 설정합니다.

  • 데이터베이스 프로젝트를 버전 제어에 체크 인합니다.

참고:

데이터베이스 프로젝트를 빌드하기 전에 Team Foundation Build를 실행할 컴퓨터의 서비스 계정에 맞게 디자인 타임 유효성 검사 데이터베이스의 인스턴스를 구성해야 합니다. 빌드 컴퓨터의 서비스 계정을 사용하여 Visual Studio를 실행하면 이 인스턴스를 구성할 수 있습니다. 다음 명령줄을 사용하여 필요한 레지스트리 항목을 만들 수도 있습니다. 아래의 자리 표시자를 해당 구성의 이름으로 바꾸어야 합니다.

Runas /user:[DOMAIN\BuildServiceUserName] "REG ADD HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\9.0\DBPro\DialogPage\Microsoft.VisualStudio.TeamSystem.Data.DBProject.Settings.DataConnectionOptionsSettings /v SqlServerName /d [LocalInstanceName]"

빌드 정의 만들기

빌드 정의를 만들려면

  1. 팀 탐색기가 있는 Visual Studio를 엽니다.

  2. 배포할 데이터베이스 프로젝트가 포함된 솔루션을 엽니다.

  3. 빌드 정의를 만듭니다. 자세한 내용은 방법: 빌드 정의 만들기를 참조하십시오. 빌드 정의를 만들 때 빌드할 현재 솔루션을 지정해야 합니다. 사용자 지정 프로젝트 구성을 만들지 않은 경우에는 기본 구성을 클릭합니다.

    다음으로 BuildDefinition.proj 파일을 수정합니다.

빌드 프로젝트 파일 수정

데이터베이스 프로젝트를 배포하려면 SqlDeploy 작업으로 AfterDropBuild 대상을 재정의해야 합니다.

빌드 프로젝트 파일을 수정하려면

  1. 버전 제어에서 BuildDefinition.proj 파일을 체크 아웃합니다. Team Foundation 버전 제어를 사용하는 경우 소스 제어 탐색기를 열고 팀 프로젝트를 확장한 다음 TeamBuildTypes 폴더를 확장하여 빌드 프로젝트 파일을 찾습니다.

  2. 원하는 편집기에서 BuildDefinition.proj 파일을 엽니다.

  3. 파일 맨 아래에서 </ItemGroup> 요소와 </Project> 요소 사이에 다음 줄을 추가합니다.

    <Target Name="AfterDropBuild">
      <MSBuild Projects="$(SolutionRoot)\SolutionName\ProjectName\ProjectName.dbproj" Properties="Configuration=Default;OutDir=$(SolutionRoot)\..\binaries\Default\" Targets="Deploy" />
    </Target>
    

    SolutionName을 데이터베이스 프로젝트가 포함된 솔루션의 이름으로 바꾸고 ProjectName을 데이터베이스 프로젝트의 이름으로 바꿉니다. 데이터베이스 프로젝트에 기본 구성을 사용하고 있지 않은 경우 Configuration 및 OutDir에서 Default를 해당 프로젝트 구성의 이름으로 바꿉니다.

    Team Foundation Build는 대개 네트워크 공유인 저장 위치에 파일을 복사합니다. 빌드 컴퓨터가 아닌 이 위치에서 데이터베이스를 배포하려는 경우에는 다음을 사용합니다.

    <Target Name="AfterDropBuild">
      <MSBuild Projects="$(SolutionRoot)\SolutionName\ProjectName\ ProjectName.dbproj" Properties="Configuration=Release;OutDir=$(DropLocation)\$(BuildNumber)\Release\" Targets="Deploy"/>
    </Target>
    
  4. BuildDefinition.proj에 대한 변경 내용을 저장합니다.

데이터베이스 프로젝트 파일 수정

대상 연결 및 데이터베이스는 ProjectName.dbproj.user 파일에 저장됩니다. 이 파일은 사용자에 따라 달라지며 일반적으로 버전 제어에 체크 인되지 않습니다. 데이터베이스를 배포하려면 이러한 설정이 필요합니다. 따라서 대상 연결 및 데이터베이스를 지정하려면 수동으로 ProjectName.dbproj 파일을 수정해야 합니다.

데이터베이스 프로젝트 파일을 수정하려면

  1. 버전 제어 시스템에서 ProjectName.dbproj 파일을 체크 아웃합니다.

  2. 파일 메뉴에서 솔루션 닫기를 클릭합니다. 열려 있는 솔루션에 포함된 프로젝트 파일은 수정할 수 없으므로 이 단계를 수행해야 합니다.

  3. 파일 메뉴에서 열기를 가리킨 다음 파일을 클릭합니다.

  4. 데이터베이스 프로젝트 파일(ProjectName.dbproj)이 들어 있는 폴더를 찾아서 ProjectName.dbproj.user를 두 번 클릭합니다.

  5. 빌드하려는 구성에 대한 ProjectName.dbproj.user 파일의 섹션에서 TargetDatabaseTargetConnectionString 속성의 정의가 포함된 줄을 복사합니다. 이러한 줄은 다음과 비슷합니다.

    <TargetDatabase>MyTargetDatabaseName</TargetDatabase>
    <TargetConnectionString>Data Source=ServerName\InstanceName;Integrated Security=True;Pooling=False</TargetConnectionString>
    
    참고:

    데이터베이스 프로젝트의 이름은 대상 데이터베이스의 이름을 지정하지 않는 경우 사용됩니다.

  6. 이러한 두 항목을 클립보드에 복사합니다.

  7. 파일 메뉴에서 열기를 가리킨 다음 파일을 클릭합니다.

  8. 데이터베이스 프로젝트 파일(ProjectName.dbproj)이 들어 있는 폴더를 찾아서 ProjectName.dbproj를 두 번 클릭합니다.

  9. 아래로 스크롤하여 Team Foundation Build를 사용하여 배포할 구성의 PropertyGroup을 찾습니다.

  10. 클립보드로 복사한 항목을 프로젝트 파일에 붙여넣습니다. TargetDatabaseTargetConnectionString에 이미 빈 요소가 들어 있는 경우 이러한 항목을 덮어써야 합니다.

  11. 파일 메뉴에서 ProjectName.dbproj 저장을 클릭합니다.

업데이트된 파일을 체크 인합니다.

Team Foundation Build에서는 버전 제어에 체크 인된 데이터베이스 프로젝트 버전을 사용합니다. 해당 버전을 사용하여 데이터베이스를 배포하기 전에 빌드 프로젝트 및 데이터베이스 프로젝트 파일에 대한 변경 내용을 체크 인해야 합니다.

업데이트된 파일을 체크 인하려면

  1. 파일 메뉴에서 소스 제어를 가리킨 다음 보류 중인 변경 내용 체크 인을 클릭합니다.

  2. 버전 제어 시스템의 지시에 따라 빌드 프로젝트 및 데이터베이스 프로젝트 파일의 체크 인을 완료합니다.

데이터베이스 배포

이제 Team Foundation Build에 사용할 빌드 정의를 구성했고 데이터베이스 프로젝트를 설정했습니다. 테스트 빌드를 수행하여 데이터베이스가 제대로 배포되는지 여부를 확인할 수 있습니다.

데이터베이스를 배포하려면

  1. 팀 탐색기에서 팀 빌드 폴더를 확장하고 데이터베이스 프로젝트를 배포하기 위해 만든 빌드 정의를 마우스 오른쪽 단추로 클릭한 다음 빌드 TeamProjectName 큐에 대기를 클릭합니다.

    빌드 대화 상자가 나타납니다.

  2. 빌드 정의, 빌드 에이전트 및 이 빌드의 저장 폴더 필드의 값이 모두 적절한지 확인한 후 큐를 클릭합니다.

    빌드 탐색기의 큐 대기 탭이 나타납니다. 자세한 내용은 Team Foundation 빌드 탐색기 이해를 참조하십시오.

참고 항목

작업

방법: Team Foundation Build에서 데이터베이스 단위 테스트 실행

개념

Team Foundation Build 개요

데이터베이스 빌드 및 배포 개요

Database Edition의 용어 개요

기타 리소스

방법: 빌드 및 배포할 데이터베이스 프로젝트 구성