用于 Linux 操作系统的 azure devops 发布管道中的自动化 SQL 部署任务
Posted
技术标签:
【中文标题】用于 Linux 操作系统的 azure devops 发布管道中的自动化 SQL 部署任务【英文标题】:Automated SQL deployment task in azure devops release pipeline for linux OS 【发布时间】:2021-02-22 03:23:37 【问题描述】:尝试在 azure devops 发布管道中添加任务以进行 SQL 部署,其中 DB 存在于 Linux OS VM 中,并且在发布管道中未获得任何任务。对于 Windows sql 部署,我们有一个任务(Azure SQL DacpacTask)来添加和执行发布管道,同样我正在寻找 linux OS 发布管道任务以执行 SQL DB 部署。所以请让我知道相同的任务详细信息
谢谢, 马杜。
【问题讨论】:
找到这个教程:azuredevopslabs.com/labs/vstsextend/deploymentgroups 和这个任务:github.com/microsoft/azure-pipelines-tasks/blob/master/Tasks/…,这可能会有所帮助。 嗨,实际上这个在部署组作业下添加的 SQL 服务器部署任务仅支持 windows 操作系统,但不支持 linux 操作系统,所以我正在寻找已安装的 sqldb 部署选项linux虚拟机 【参考方案1】:用于 Linux 操作系统的 azure devops 发布管道中的自动化 SQL 部署任务
如您所知,Azure SQL Dacpac 任务目前仅支持基于 Windows 的代理系统。 MS 团队正在将此添加到他们的待办事项中,并将考虑在未来添加此支持。
作为解决方法,您可以尝试以下信息:
使用 bash 脚本任务,
在 linux 代理上安装 MS SQL 工具 使用 bash 脚本任务运行脚本。 参考 - Create and run SQL Server Agent jobs on Linux您可以使用 Azure RG 任务并执行存储过程作为 ARM 模板的一部分 参考——Copy data from Azure Blob Storage to Azure SQL DB with stored procedure
来自Azure SQL Publish not supported on Linux build agent的参考
【讨论】:
以上是关于用于 Linux 操作系统的 azure devops 发布管道中的自动化 SQL 部署任务的主要内容,如果未能解决你的问题,请参考以下文章
如何查找 Active Directory OAuth 身份验证的受众字段? (如何从 Azure Logic App 向 DevOps 发送发布请求?)
数据库遭遇.dewar或者.devos结尾的勒索病毒加密的恢复