在自定义TFS构建/发布脚本

时间:2016-05-06 20:15:49

标签: powershell tfs release-management

我正在使用TFS 2015 Update 2以及新的Build / Release系统。我有一个PowerShell脚本,我正在通过Powershell Task执行。此任务执行一个powershell脚本,需要访问我在许多不同的VSTS任务代码示例中看到的$ distributedExecutionContext魔术变量。

这个有问题的脚本在技术上不是一项任务,而是由TFS提供的Powershell任务执行。

无论我做什么,我都看不到获得$ distributedExecutionContext变量。它始终为空。这是一个例子:

Import-Module "Microsoft.TeamFoundation.DistributedTask.Task.Internal"

if($distributedTaskContext)
{
    #... this never happens
}

如果正在运行的powershell正在实际任务中运行,那么此变量是否可用?

1 个答案:

答案 0 :(得分:0)

您正在使用的默认PowerShell任务将脚本完全作为不同的进程运行,并且脚本无法使用$distributedTaskContext变量。

它仅适用于任务的powershell脚本。

如果您要编写自定义任务,我希望您使用新的vsts-task-lib SDK,它比旧版SDK提高了很多。