无法在 DevOps 上并行执行 Powershell 7 脚本

use*_*867 3 powershell azure-devops

作为发布部署的一部分,我们在发布管道中使用 Azure Powershell 步骤来使用 DACPAC 来更新我们的数据库。目前,它会迭代每个数据库并按顺序更新它们。每个数据库大约需要 35 \xe2\x80\x93 40 秒,该过程中的此步骤将花费近一个小时(大约 100 db),并将随着客户和数据库的增长而继续增长。

\n

我一直在研究,发现Powershell 7现在支持并行执行。但是,Azure DevOps 并不正式支持这一点。然而,在我的研究中,我发现业内的一些用户在其部署中以某种方式运行 Powershell 7。

\n

有没有办法,我们如何在DevOps上实现Powerlshell 7脚本的并行执行?

\n

use*_*867 7

要在 DevOps 上运行 Powershell 7 脚本,需要显式选择在 Azure DevOps 中使用 Powershell 核心(v 7.0.3)的选项。Powershell 6 及以上版本现在称为 Powershell 核心,并以 pwsh.exe 启动。PowerShell Core 与 Windows PowerShell 并行运行,默认情况下,当您在 Azure DevOps 上使用 Powershell 任务时,它使用普通的 powershell(即 v 5.1)。因此,在没有此 Powershell 的情况下运行时,默认为普通的 powershell.exe,但它没有此功能。

我们可以使用任务高级设置下的“使用 Powershell Core”复选框在 Azure DevOps 任务上启用 Powershell 核心,并使用并行功能。