包含来自 Web 应用程序和数据库项目的输出的 Web 部署包

Posted

技术标签:

【中文标题】包含来自 Web 应用程序和数据库项目的输出的 Web 部署包【英文标题】:Web Deploy Package containing output from Web Application and Database Project 【发布时间】:2015-01-07 08:58:37 【问题描述】:

在我的组织中,主要产品是一个 Web 应用程序和一个关联的数据库。 Web 应用程序和数据库都在 TFS 中进行源代码控制。我们在数百个 IIS 网站实例中以各种版本运行该产品。当在 IIS 部署上有那么多网站实例时,就是 atm。一个问题。

我想要做的是将我的 Web 应用程序与我的数据库项目的输出打包在一起。我一直在研究创建一个 Web 部署包,如果我愿意,它可以轻松地远程、本地或以编程方式将 Web 应用程序部署到 IIS。 我想要实现的是拥有一个包,但我想知道是否可以利用 dacpac 增量数据库部署将数据库项目嵌入到 Web 部署包中? 如果这不可能,是否有任何适合我需要的 Web Deploy Package 替代方案?

【问题讨论】:

【参考方案1】:

另一种方法是创建一个 MSI 包来部署 Web 部署包并更新 DB。例如,对于 Advanced Installer,您可以使用 built-in support for Web Deploy Packages。

要执行 dacpac 增量数据库部署,您可以从同一 MSI as a custom action 调用 SqlPackage.exe。链接的示例显示了一个简单的 EXE 运行,但您可以将其更改为运行任何所需的 EXE,并传递您所需的命令行参数。

如果你经常升级网站,或者在安装/部署后经常更改设置,那么你也应该看看下一个线程,它谈到了persisting website installations during upgrades。

【讨论】:

以上是关于包含来自 Web 应用程序和数据库项目的输出的 Web 部署包的主要内容,如果未能解决你的问题,请参考以下文章

我所有的 JSON 输出(来自 Laravel API 应用程序)都包含在数据标签中,我该如何删除它?

我的所有JSON输出(来自Laravel API应用程序)都包含在数据标签中,如何删除此标签?

缓存来自 iPhone 的 PHP Web 服务的结果

使用 Python 从 Word 文档中输出 PCL

使用相对路径将一个 Maven 项目包含到另一个 Maven 项目中

不能包含来自静态库(VS17)的标题[重复]