Развертывание проекта базы данных VS 2010 с использованием MSBuild и TeamCity
Возможно ли развертывание проекта базы данных VS 2010 с использованием TeamCity?
Я создаю все свое решение и развертываю веб-сайт на своем сервере, все это прекрасно работает.
Последним шагом, который я хочу вызвать, является развертывание проекта базы данных, который генерирует sql script и развертывает его.
У меня есть опция "Создать развертывание script (.sql) и развернуть в базу данных", выбранную как действие развертывания, моя целевая конфигурация настроена на сборку и развертывание проекта базы данных, но я просто не могу понять как заставить TeamCity и MSBuild запускать его.
Ответы
Ответ 1
Поскольку мой вопрос поднялся сегодня, я пересматриваю ответ, который нашел.
Я сделал следующее:
- создал шаг развертывания в моей сборке
- указал на проект моей базы данных VS (файл .dbroj)
- Параметры командной строки, заданные следующим образом:/t: Развертывание /p: TargetDatabase = MyDBName/P: Конфигурация =%env.Configuration%
Редактировать 16/11/12. Еще одно преимущество, поэтому снова пересматриваем. Поскольку я опубликовал это, все стало немного яснее. Первоначально я запускал TeamCity на своем dev-компьютере.
Когда я пришел, чтобы переместить его на сервер, единственный способ заставить развертывание базы данных работать - это установить Visual Studio на сервере, который является болью.
Ответ 2
Для этого необходимо установить Visual Studio.
Для исходных типов проектов базы данных SQL Server 2005/2008:
- Создайте шаг сборки типа runner Visual Studio для создания решения.
- Создайте шаг сборки командной строки runner. Установите исполняемую команду на
C:\Program Files\Microsoft Visual Studio 10.0\VSTSDB\Deploy\VSDBCMD.exe
. Задайте параметры команды /a:Deploy /dd:+ /manifest:%system.teamcity.build.checkoutDir%\<PROJECT PATH>\sql\debug\<PROJECT NAME>.deploymanifest
. (См. здесь для параметров VSDBCMD.exe).
Для проекта базы данных SQL Server, предоставленного Инструменты данных SQL Server или Visual Studio 2012/2013:
- Создайте шаг сборки типа runner Visual Studio для создания решения.
- Создайте шаг сборки командной строки runner. Задайте исполняемую команду
C:\Program Files\Microsoft Visual Studio 10.0\Microsoft SQL Server Data Tools\sqlpackage.exe
. См. здесь для параметров sqlpackage.exe. Вот пример с настройками развертывания, хранящимися в файле XML (созданный с помощью опции публикации): /Action:Publish /SourceFile:%system.teamcity.build.checkoutDir%\<PROJECT PATH>\bin\Debug\<PROJECT NAME>.dacpac /Profile:%system.teamcity.build.checkoutDir%\<PATH TO PROJECT>\PublishSettings.xml
.