AzureDevOps管道和sqlpackage

时间:2018-10-12 05:55:14

标签: sql-server continuous-integration azure-devops azure-pipelines

全部

我想在CI流程中创建一个包含目标数据库模式的DACPAC文件。我可以将其用作基准架构来创建测试平台,可以针对该平台测试发行版中的脚本。

SqlPackage.exe /TargetFile:"C:\AzureDevOps\AdventureWorks.dacpac" /Action:Extract /SourceServerName:"SQL2016" /SourceDatabaseName:"AdventureWorks2016"

SqlPackage.exe /SourceFile:"C:\AzureDevOps\AdventureWorks.dacpac" /Action:Publish /TargetServerName:"SQL2016" /TargetDatabaseName:"AdWorks"

我可以使用上面的脚本来创建DACPAC,然后部署DACPAC来创建测试平台。

我不知道如何将此步骤合并到AzureDevOps管道中。我搜索了sqlpackage任务,但找不到。

Perform SQL server actions in Azure Pipelines or TFS

其他人能否对实现这一目标有一些启发?

1 个答案:

答案 0 :(得分:0)

需要在代理计算机中安装SqlPackage可执行文件才能执行SqlPackage命令。我不确定HostedAgent是否具有此可执行文件。因此,我建议创建自己的代理,并在其中安装Sqlpackage。然后,您可以使用自己的代理在AzureDevOps中执行脚本。

如果您使用的是Azure SQL Database,则有一个default task available,您可以在其中轻松部署DACPAC文件

enter image description here