【问题标题】:How to deploy SQL Database in Bitbucket pipeline to Azure如何将 Bitbucket 管道中的 SQL 数据库部署到 Azure
【发布时间】:2020-09-29 06:00:13
【问题描述】:

就当前问题征求意见或方向。

我们正在使用 bitbucket 管道将 ci/cd Web 应用程序部署到 Azure。现在剩下的是 - 数据库,也托管在 Azure 上。

根据我的研究 - SQL 数据库项目部署的所有内容通常使用 Azure DevOps 管道(连接到 github 存储库,允许多个环境,具有内置的 SqlAgent 允许通过 dacpac 文件将 SQL db 部署到目标服务器。它允许 CI 与每次签到,每次推送更改。太好了!

但是如果不能(出于某种原因)使用 Azure DevOps 而必须使用 Bitbucket 管道 怎么办。那可能吗?如何?通过脚本?一个工具?在命令行中调用?任何帮助 - 非常感谢。

【问题讨论】:

    标签: deployment continuous-integration azure-sql-database bitbucket-pipelines


    【解决方案1】:

    确实,在 Azure DevOps 中更容易部署 (Azure) SQL 数据库,因为 Azure DevOps 提供了许多任务(包括您可以在 Microsoft MarketPlace 中找到的第 3 方自定义任务)。
    但是,无论您将使用什么工具,您都应该能够做到这一点,了解特定服务的部署概念。
    我不太了解 BitBucket,但我敢打赌该产品能够执行一些命令,包括 PowerShell 命令。如果是这样,您必须在管道中执行 2 个步骤才能发布 Azure SQL 数据库:
    1)创建服务器和(空)数据库——也许 BitBucket 提供了一些在 Azure 中创建服务的任务(从 ARM 模板或其他方式)。如果没有 - 您始终可以使用 CLI 或 PowerShell 来执行此操作。更多信息:az cli server
    2) 部署数据库或对其进行更改。这一步总是将 DACPAC 文件(它是 SQL Server 数据库项目的编译版本)与服务器上的目标数据库进行比较。结果是必须针对目标数据库执行的 T-SQL(差异)脚本。只有一种方法可以做到这一点 - sqlpackage.exe - Microsoft 提供的工具。您可以在 Internet 上找到 whole documentation here 以及大量有关如何使用它的示例。
    让我知道这是否有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-10-17
      • 1970-01-01
      • 2016-01-27
      • 1970-01-01
      • 1970-01-01
      • 2017-04-02
      • 2022-10-05
      相关资源
      最近更新 更多