방법 : Team System Build 2010 (베타 2)을 사용하여 SQL 데이터베이스 프로젝트 배포

StackOverflow https://stackoverflow.com/questions/1632965

문제

누구든지 SQL 데이터베이스 프로젝트를 SQL 서버로 푸시하기 위해 Team Build 2010 Beta 2를 얻는 방법에 대해 약간의 빛을 발할 수 있습니까?

VSTS 2008에서는 tfsbuild.proj 파일에서 "배포"로 설정된 대상 속성이있는 MSBuild 명령을 추가하지만 2010 년에 사용하는 새로운 워크 플로 기반 XAML로 변환하는 데 약간의 어려움이 있습니다.

내가 찾고있는 것은 데이터베이스 자체의 실제 배포를 트리거하는 방법입니다. 이미 배포 스크립트를 생성하고 있습니다.

도움이 되었습니까?

해결책

여전히 답을 찾는 사람은 vsdbcmd.exe를 사용하는 호출 프로세스를 사용하십시오.http://msdn.microsoft.com/en-us/library/ff805001.aspx

다른 팁

예는 다음과 같습니다.

http://www.nablasoft.com/alkampfer/index.php/2009/10/06/deploy-a-database-project-with-tfs-build/

deploytodatabase = true가 단순히 누락 된 것일 수 있습니다.

증분 데이터베이스 업그레이드가 필요하지 않은 경우이 문제에 대한 또 다른 솔루션이 있습니다. 따라서 각 빌드의 데이터베이스를 재현하는 것이 좋습니다. 다음도 효과가 있습니다.

데이터베이스 프로젝트 파일에 배포 대상을 추가하십시오

'에 대한 배포 설정을 구성하십시오.My project settings'. 그런 다음 해당 설정은 솔루션을 구축 할 때 빌드 서버에서 사용합니다. 로컬로 구축 할 때 사용 된 설정은 'My isolated development environment’.

  1. 데이터베이스 프로젝트 속성에서

배포 조치가 필요합니다.Create a deployment script (.sql) and deploy the database';; 이렇게하면 스크립트의 실행을 방지 할 수 있으며, 만 스크립트가 생성됩니다.

  1. 데이터베이스 프로젝트 파일

데이터베이스 프로젝트 파일 수정 (데이터베이스 프로젝트를 마우스 오른쪽 단추로 클릭하고, 언로드를 선택하고, 다시 마우스 오른쪽 버튼을 클릭하고, [projectname] .dbproj)를 선택하십시오.

<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">

에게

<Project DefaultTargets="Build;Deploy" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">

빌드 서버가 데이터베이스 프로젝트가 포함 된 솔루션을 빌드하면 기본 대상을 추가하면 데이터베이스도 배포됩니다. 이 빌드는 선택한 배포 설정을 사용합니다.My project settings’.

프로

  • 쉽게 설정하기 쉽습니다

단점

  • 기본 대상이 빌드 및 배포로 변경되었으므로 개발자가 솔루션의 로컬 재 구축을 할 때 데이터베이스를 배포합니다 (빌드는 배포를 트리거하지 않음).

내가 지금까지 찾은 가장 가까운 것은입니다 이 게시물 Jim Lamb (Microsoft의 Team Foundation PM)에서.

여기서 그는 사용자 정의 proj 파일 생성과 기본 빌드 프로세스 템플릿을 수정하여 proj 파일을 호출하는 것에 대해 모호하게 이야기합니다.

그는 또한 이전에 무시했던 업그레이드 템플릿 사용에 대해 이야기합니다. 분명히 업그레이드 템플릿은 2008 년 빌드 정의를 호출하는 데 사용될 수 있습니다. 오히려 레거시 Proj 파일을 기반으로 전체 빌드를 호출하고 정의하지는 않지만 적어도 옵션입니다.

어느 주제에도 실제로 수정을 필요로하는 충분한 정보가 포함되어 있지만 향후 실험을위한 합리적인 출발점을 제공합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top