指定在构建时使用哪个发布脚本?

问题描述 投票:2回答:2

在构建解决方案文件时,如何让SSDT运行我的发布脚本?

如果你: 1)右键单击您的解决方案 2)单击“配置属性” 3)单击“配置”

我可以看到数据库项目以及在构建时检查它的部署位置,它不允许我指定要使用的发布脚本。

visual-studio-2012 visual-studio-2013 database-project sql-server-data-tools
2个回答
0
投票

据我所知,开箱即用是不可能的。

为什么?它们是两个非常不同的东西。

构建(如果您将其视为代码)编译和检查,生成人工制品。对于.NET代码,那些伪像是DLL的/ .exe等。对于.sqlproj,它是在/ sql / [Build Configuration Name]中出现的.dacpac等。

如果您正在谈论.NET代码,则发布类似于部署。构建不包括发布作为操作。

具有讽刺意味的是,发布操作也构建了解决方案,因此我的建议是考虑以下其中一项:

  1. 每当要构建时,发布项目(右键单击“发布”或双击所选的.publish.xml文件)。
  2. 使用Post-Build command line in the project Properties调用sqlpackage.exe以使用指定的.publish.xml配置文件部署新编译的.dacpac - 但请注意,这也会影响您在Visual Studio中使用Publish操作作为Publish构建然后发布(所以你' d最终发布两次)。
  3. 根据您的舒适程度/如果您是命令行风扇,然后使用命令行(bash文件?Powershell?)到call msbuild,然后使用sqlpackage.exe。无论何时构建,请在cmd.exe中运行命令。
  4. 类似于#3,add a menu item to the Tools menu将执行完全相同的事情(msbuild后跟sqlpackage部署)但是从Visual Studio本身。
  5. 查看持续集成模型(TFS / TeamCity / Bamboo / Jenkins以及大约3000个其他模型),它可以随着每次更改自动构建和部署 - 无论是在另一台服务器上,还是在本地运行(我把它放在不知道你的场景的情况下) ,所以可能非常不适合解决你的问题)。

0
投票

Checkout持续集成功能。这将帮助您设置构建和部署。

有很多关于此设置的在线示例。 http://www.sqlshack.com/continuous-integration-sql-server-data-tools-team-foundation-server/

您可以使用Visual Studio Release Manager扩展此功能。 http://blog.nwcadence.com/configure-release-management-for-visual-studio-2013/

© www.soinside.com 2019 - 2024. All rights reserved.