使用 MSBuild 和 TeamCity 部署 VS 2010 数据库项目



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

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

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

我已选择"创建部署脚本 (.sql) 并部署到数据库"选项作为部署操作,我的配置目标设置为生成和部署数据库项目,但我只是不知道如何让 TeamCity 和 MSBuild 触发它。

必须

安装Visual Studio才能正常工作。

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

  1. 创建运行器类型 Visual Studio 的生成步骤来生成解决方案。
  2. 创建运行器类型为命令行的生成步骤。将命令可执行文件设置为 C:Program FilesMicrosoft Visual Studio 10.0VSTSDBDeployVSDBCMD.exe 。将命令参数设置为 /a:Deploy /dd:+ /manifest:%system.teamcity.build.checkoutDir%<PROJECT PATH>sqldebug<PROJECT NAME>.deploymanifest 。(有关 VSDBCMD.exe 参数,请参阅此处)。
对于 SQL Server

Data Tools 或 Visual Studio 2012/2013 提供的 SQL Server 数据库项目:

  1. 创建运行器类型 Visual Studio 的生成步骤来生成解决方案。
  2. 创建运行器类型为命令行的生成步骤。将命令可执行文件设置为 C:Program FilesMicrosoft Visual Studio 10.0Microsoft SQL Server Data Toolssqlpackage.exe 。有关 sqlpackage.exe 参数,请参阅此处。下面是部署设置存储在 XML 文件(通过"发布"选项创建)中的示例:/Action:Publish /SourceFile:%system.teamcity.build.checkoutDir%<PROJECT PATH>binDebug<PROJECT NAME>.dacpac /Profile:%system.teamcity.build.checkoutDir%<PATH TO PROJECT>PublishSettings.xml

由于我的问题今天被投票赞成,我正在重新审视我找到的答案。

我做了以下工作:

  • 在我的构建中创建了一个部署步骤
  • 将其指向我的VS数据库项目(.dbroj文件)
  • enetered command line params如下:/t:Deploy/p:TargetDatabase=MyDBName/P:Configuration=%env.配置%

编辑 16/11/12:另一个赞成票,所以再次重温。自从我发布此内容以来,事情变得更加清晰。我最初在我的开发PC上运行TeamCity。

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

最新更新