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

12

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

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

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

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

2个回答

16

必须安装Visual Studio才能使其工作。

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

  1. 创建一个Visual Studio运行器类型的构建步骤以构建解决方案。
  2. 创建一个命令行运行器类型的构建步骤。将Command Executable设置为 C:\Program Files\Microsoft Visual Studio 10.0\VSTSDB\Deploy\VSDBCMD.exe,将Command Parameters设置为 /a:Deploy /dd:+ /manifest:%system.teamcity.build.checkoutDir%\\sql\debug\.deploymanifest。(有关VSDBCMD.exe参数,请参见此处)。)

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

  1. 创建一个Visual Studio运行器类型的构建步骤以构建解决方案。
  2. 创建一个命令行运行器类型的构建步骤。将Command Executable设置为 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%\\bin\Debug\.dacpac /Profile:%system.teamcity.build.checkoutDir%\

10
自从我的问题今天得到了赞同,我决定回答一下。
我做了以下几个步骤:
1. 在我的构建中创建了一个“部署”步骤。 2. 将其指向我的VS数据库项目(.dbroj文件)。 3. 输入以下命令行参数:/t:Deploy /p:TargetDatabase=MyDBName /P:Configuration=%env.Configuration%
编辑于16/11/12:由于又得到了一次赞同,所以我再次回答。自从我发布这篇文章以来,情况变得更加清晰了。我最初是在我的开发PC上运行TeamCity。
当我要将其移动到服务器上时,唯一能让数据库部署正常工作的方法就是在服务器上安装Visual Studio,这很麻烦。

如果您要部署的是SSDT项目,则只需安装DacFX即可,因为其中包含sqlpackage.exe。我没有尝试过,但应该可以工作。http://blogs.msdn.com/b/ssdt/archive/2013/05/03/sql-server-data-tier-application-framework-may-2013-available.aspx?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+ssdtblog+%28SQL+Server+Developer+Tools+Team+Blog%29 - Trondh
@Trondh 不是的,它是一个VS 2010数据库项目。 - ozz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接