Deployment 如何将Bitbucket管道中的SQL数据库部署到Azure

Deployment 如何将Bitbucket管道中的SQL数据库部署到Azure,deployment,continuous-integration,azure-sql-database,bitbucket-pipelines,Deployment,Continuous Integration,Azure Sql Database,Bitbucket Pipelines,就当前问题征求意见或方向 我们正在使用bitbucket管道将ci/cd web应用程序部署到Azure。现在剩下的是数据库,它也托管在Azure上 根据我的研究-关于SQL数据库项目的所有部署通常使用Azure DevOps管道(连接到github repo,允许多种环境,具有内置的SqlAgent,允许通过dacpac文件将SQL db部署到目标服务器。它允许每次签入时都使用CI,每次推送更改。很好 但是,如果不能(出于某种原因)使用Azure DevOps,而必须使用Bitbucket管道

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

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

根据我的研究-关于SQL数据库项目的所有部署通常使用Azure DevOps管道(连接到github repo,允许多种环境,具有内置的SqlAgent,允许通过dacpac文件将SQL db部署到目标服务器。它允许每次签入时都使用CI,每次推送更改。很好


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

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