首页 > 解决方案 > Azure DevOps:部署所有 IIS 站点后,如何在 onPrem 服务器上运行 powershell

问题描述

在所有阶段都完成部署后,如何运行 powershell 脚本?我目前选择了一个部署组作业,但不能 100% 确定这是否是我需要的。我已将该脚本作为正在部署的解决方案的一部分包含在内,以便它可以在所有机器上使用。根据我在 UI 中可以找到的内容,似乎有 2 个任务可以工作。

第一个选项是执行任务“Powershell Script”,但它要求放置目录中的路径。问题在于我感兴趣的文件位于 zip 文件中,似乎没有办法在 zip 文件中指定文件。

我看到的另一个任务是“目标机器上的 PowerShell”,然后它要求提供目标机器的列表。我不确定这里需要输入什么,因为我想在部署组中的当前机器上运行 powershell 脚本。似乎此任务旨在将 powershell 脚本从部署机器运行到另一台远程机器。因此,此选项似乎不适合我的用例。

通过查看我遇到的答案,谈论如何使用称为“Kudu”(不相关)的东西作为 Azure 站点的一部分执行此操作,或者不回答与这些任务相关的其他问题,或者看起来他们已经不在了日期。

标签: azure-devops

解决方案


部署组作业将在该部署组中指定的所有服务器上运行。根据您的指示,听起来这就是您要寻找的。

由于您指出有问题的文件是 zip,因此您实际上需要使用 2 个单独的任务。

  1. 提取文件 - 使用它来提取 zip 文件,以便您可以执行脚本
  2. Powershell 脚本 - 使用它来执行脚本。如有必要,您可以设置要在其中执行的脚本的工作目录(在高级选项下)。另请记住,您不必使用文件/文件夹选择器“helper”,因为如果文件位于 zip 中,它在您的情况下将不起作用。这仅用于填充文本框,您可以从 $(System.DefaultWorkingDirectory) 变量开始手动执行该操作并添加脚本的必要路径。

推荐阅读