在 Azure DevOps 发布管道中从 PowerShell 执行 SQLCMD.exe

Tom*_*han 5 powershell sqlcmd azure-devops

我正在将我们的部署基础结构移植到 Azure DevOps(以前称为 Visual Studio Team Services),但我遇到了一个找不到任何好的解决方案的问题。

我们正在使用 EF Core Migrations,为了解决一些不相关的问题,我们需要在 SQLCmd 中动态包装 SQL 脚本,这很容易使用 PowerShell。

但是,当将我们的脚本作为发布管道中的常规 PowerShell 步骤执行时,它会失败,因为 SQLCMD.exe 不可用。并不奇怪 - 但我也找不到任何记录的安装方式。

是否有工具安装程序或一些类似的现成组件可以让我执行 PowerShell 脚本,该脚本调用 SQLCMD.exe(通过Invoke-SqlCmd)作为 Azure Devops 管道的一部分?如果没有,无论如何,最简单的方法是什么?

Ast*_*ain 6

我自己还没有尝试过,但是您可以在托管代理上为当前用户安装 Powershell 模块吗?因为 Invoke-SqlCmd 是SqlServer 模块的一部分,可以从 Powershell 库安装:

Install-Module -Name SqlServer -Scope CurrentUser
Run Code Online (Sandbox Code Playgroud)