如果脚本存在,如何在VSTS版本中运行远程Powershell?

时间:2018-01-22 10:02:33

标签: powershell azure-devops powershell-remoting azure-pipelines-release-pipeline

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

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

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

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:0)

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