仅当脚本存在时,如何 运行 VSTS 中的远程 Powershell 发布?

How to run a remote Powershell in VSTS release only if script exists?

在 VSTS 发布管理中,有一个很好的远程 Powershell 任务,我们可以在其中 运行 目标机器上的脚本。但是我需要一种方法来告诉发布管理只有 运行 这个文件存在,否则默默地忽略它。

我知道我可以将任务配置为在出现错误时不阻止进程,但是在这种情况下,日志中仍然会有一个感叹号,并且部署将获得部分成功状态。我想避免这种情况并显示成功,即使该文件不存在也是如此。

有了这个,我需要它来支持几种已部署产品的可选安装脚本。

VSTS 中没有检查脚本文件是否存在的设置或功能。

最简单的方法是,您可以创建另一个脚本来调用目标脚本。

  1. 创建另一个脚本(例如wapperScript.ps1)来调用目标脚本(可以使用参数接受目标脚本路径)并添加到源代码管理
  2. 添加 Windows 机器复制任务以将 wapperScript.ps1 复制到目标机器
  3. 将远程 PowerShell 任务添加到 运行 wapperScript。ps1

如果您使用保护子句使您的脚本更加健壮,那么无论任何给定的环境条件如何都可以调用它。这使您的管道不那么复杂。您可以在 "file exists" 腿上采取行动,而在另一条腿上做 noop。您可以使用日志条目以任何方式向发布过程发出信号。