12

是否可以使用TeamCity部署VS 2010数据库项目?使用MSBuild和TeamCity部署VS 2010数据库项目

我正在构建我的整个解决方案,并将网站部署到我的服务器,这一切工作正常。

我想要触发的最后一步是部署生成sql脚本并部署它的数据库项目。

我有“创建一个部署脚本(.sql)和部署到数据库”选项选择作为一个部署动作,我的配置目标设置为构建和部署数据库项目,但我无法弄清楚如何让TeamCity和MSBuild触发它。

回答

10

由于我的问题今天得到了提高,我正在重新审视我发现的答案。

我做了以下内容:

  • 创造了我的共建部署一步
  • 指着我的VS数据库项目(.dbroj文件)
  • enetered命令行PARAMS如下:/ T:部署/ p:TargetDatabase = MyDBName /P:Configuration=%env.Configuration%

编辑16/11/12:另一种给予好评,所以再次重新访问。由于我发布了这个,事情变得更清晰了。我最初在我的开发PC上运行TeamCity。

当我将它移动到服务器上时,唯一可以让数据库部署工作的方法是在服务器上安装Visual Studio,这很痛苦。

+0

如果它是您正在部署的SSDT项目,则应该只需要安装DacFX,因为sqlpackage.exe包含在其中。我没有尝试过,但应该工作。 http://blogs.msdn。COM/B/SSDT /存档/ 2013/05/03/SQL-服务器的数据层应用程序的框架-MAY-2013-available.aspx?utm_source = Feedburner的&utm_medium =进料&utm_campaign =进料%3A + ssdtblog +%28SQL +服务器+开发人员+工具+团队+博客%29 – Trondh

+0

@Trondh不,这是一个VS 2010数据库项目 – ozz

16

必须安装Visual Studio才能正常工作。

对于原始SQL Server 2005/2008数据库项目类型

  1. 创建亚军类型的Visual Studio生成步骤来构建解决方案。
  2. 创建跑步者类型命令行的构建步骤。将命令可执行文件设置为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参数,请参阅here)。

对于由SQL Server数据工具的Visual Studio 2012/2013提供的SQL Server数据库项目:

  1. 创建亚军类型的Visual Studio生成步骤来构建解决方案。
  2. 创建跑步者类型命令行的构建步骤。将命令可执行文件设置为C:\Program Files\Microsoft Visual Studio 10.0\Microsoft SQL Server Data Tools\sqlpackage.exe。有关sqlpackage.exe参数,请参阅here。以下是存储在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
相关问题