使用 Azure DevOps 的多租户数据库部署

Vik*_*yal 6 sql database release dacpac devops

我们的应用程序使用由特定于客户端的数据库支持的单一代码库。我们试图实现的是在 IIS 网站上使用通常的代码推送进行代码部署,并在 Azure DevOps 上使用 SQL Dacpac for Schema Only 更改进行数据库部署。

这里的问题是某些更改不会同时进入所有客户端的数据库。我们需要的是选择哪些将是我们当前版本的目标数据库的能力。

有时我们会向所有人发布更改(仅限架构),有时会发布到少数几个。

一种方法是为所有数据库创建单独的发布管道并一一发布。

有没有一种方法可以在版本本身中包含复选框,每个版本都会问我这些更改应该放在哪个数据库中?

另一个可能的解决方案是找到一种方法,通过它我可以调用 5-10 个发布管道(每个用于不同的数据库发布),同时从我的主管道创建一个发布,并为发布提供某种复选框,我可以使用它来选择要执行的操作以及要跳过此版本的哪些内容。

我需要针对这种情况的建议/最佳行业实践。

dou*_*ugp 1

就在这里。您可以配置一个发布管道,为每个数据库项目分配一个 SQL Server 数据库部署任务。当您使用该管道创建版本时,DevOps 允许您启用或禁用该特定版本的每个任务,从而提供灵活性。创建发布管道后,该过程是:

  • 选择您的发布管道
  • 创建版本
  • 编辑版本(不是管道)
  • 右键单击每个 SQL Server 数据库部署任务,然后根据需要启用或禁用
  • 节省
  • 部署