在自定义TFS生成/发布脚本中获取DistributedTaskContext



我正在使用TFS 2015 Update 2和新的构建/发布系统。我有一个通过powershell任务执行的powershell脚本。这个任务执行一个powershell脚本,该脚本需要访问我在许多不同的VSTS任务代码示例中看到的$distributedExecutionContext魔术变量。

从技术上讲,这个脚本不是一个任务,而是由TFS附带的Powershell任务执行的。

无论我做什么,我都看不到要获得$distributedExecutionContext变量。它总是空的。这里有一个例子:

Import-Module "Microsoft.TeamFoundation.DistributedTask.Task.Internal"
if($distributedTaskContext)
{
    #... this never happens
}

只有当正在运行的powershell在实际任务中运行时,此变量才可用吗?

您使用的默认powershell任务完全作为不同的进程运行脚本,并且$distributedTaskContext变量对脚本不可用。

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

如果你要写一个自定义任务,我希望你使用新的vsts任务库SDK,它比旧的SDK改进了很多。

最新更新