多数据库解决方案VSTS版本定义

时间:2017-12-06 19:17:52

标签: azure-devops sql-server-data-tools azure-pipelines-release-pipeline

我正在寻找帮助在VSTS中创建发布定义,以便为针对数据仓库/ BI环境中的7个数据库的解决方案部署数据库更改。

我的解决方案是VSTS中的TFVC,其中包含针对7个数据库的17个数据库项目,由于跨数据库连接和通过数据库引用在项目中重用数据库对象,一些数据库具有多个项目。如果交叉数据库加入并不存在,那么这个问题将更容易解决,但需要时间来消除这些问题。

当提交任何更改时,将构建解决方案并生成dacpacs作为工件保留以便发布。

我的发布定义并不是特别聪明,它包含一个PowerShell脚本,该脚本遍历每个dacpacs,生成部署报告,然后进行部署。虽然这有效,但确实存在问题:

  • 部署按字母顺序完成,因此如果变更集涉及众多数据库,则部署可能会失败,因为一个数据库中引用的内容可能尚未存在于另一个数据库中。
  • 无论发生了什么变化,都会针对每个数据库进行部署,因此在一个数据库中创建视图意味着所有数据库都对它们进行了比较/部署,这是不必要的。这样的事情需要几秒钟才能在CI / CD过程之外创建,目前需要30分钟才能构建,然后发布测试然后直播。

如何使发布定义更智能?

0 个答案:

没有答案