在自定义 TFS Build/Release 脚本中获取 DistributedTaskContext
Obtaining the DistributedTaskContext in a custom TFS Build/Release Script
我正在使用 TFS 2015 Update 2 以及新的 Build/Release 系统。我有一个通过 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-task-lib SDK,它比旧的 SDK 改进了很多。
我正在使用 TFS 2015 Update 2 以及新的 Build/Release 系统。我有一个通过 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-task-lib SDK,它比旧的 SDK 改进了很多。