在本地调试VSTS Powershell脚本

时间:2018-09-20 06:39:44

标签: azure powershell azure-devops

我是PowerShell的新手,请保持友善。

我的情况是这样。

我有一堆PS脚本,它们可以与VSTS / Azure DevOps上的“构建”和“发布”定义一起使用。

我很难理解如何在本地调试这些脚本,因为这些脚本依赖于某些“变量”或参数。

例如:由于我缺乏PS知识,所以我不知道如何在本地进行设置,而实际上是从VSTS来的,而不是让它们来自VSTS。

Param(
  [string]$BinariesDirectory,
  [string]$SourcesDirectory,
  [string]$DeploymentConfiguration,
  [string]$Major,
  [string]$Minor,
  [string]$ChangesetNo,
  [string]$RevisionNumber
)

我很难理解如何调试运行VSTS的PowerShell脚本,以及如何向这些脚本提供所需的参数。

非常感谢!

2 个答案:

答案 0 :(得分:1)

以下是两个如何在本地进行操作的示例:

function showdata(xml){
    xml = $(xml).children();
    $(xml).children().each(function () {     

        let expireArray = $(this).attr('expires').split('/');
        const expireDate = `${expireArray[2]}${expireArray[1]}${expireArray[0]}`;
        const now = new Date(),
            nowDate = `${now.getFullYear()}${(now.getMonth()+1) <10 ? '0'+(now.getMonth()+1): (now.getMonth()+1)}${now.getDate()}`;

        if (nowDate > expireDate) {
            return;
        }

        let name = $(this).find("name").text();
        let phone =$(this).find("phone").text();

        let html = `<div class="col-md-4">
                    <div class="thumbnail">
                      <p>${name}</p>
                      <p>${phone}</p>
                    </div>
                    </div>`;


       $("#test").append(html);
    });
}

答案 1 :(得分:1)

您只需在本地为其分配值,然后单击PowerShell ISE中的F5按钮即可调试脚本:

Param(
  [string]$BinariesDirectory = 'c:\....',
  [string]$SourcesDirectory = 'c:\....',
  [string]$DeploymentConfiguration = 'c:\....',
  [string]$Major = '1',
  [string]$Minor = '3',
  [string]$ChangesetNo = '4',
  [string]$RevisionNumber = '4711'
)