Я использую TFS 2015 Update 2 вместе с новой системой сборки/выпуска. У меня есть сценарий powershell, который я выполняю с помощью задачи Powershell. Эта задача выполняет сценарий powershell, который нуждается в доступе к переменной $ distribExecutionContext, которую я вижу во многих различных образцах кода VSTS Task.Получение DistributedTaskContext в пользовательском скрипте создания/выпуска TFS
Этот сценарий не является технически задачей, но вместо этого выполняется задачей Powershell, которая поставляется с TFS.
Независимо от того, что я делаю, я не вижу, чтобы получить переменную $ distributionExecutionContext. Он всегда равен нулю. Вот пример:
Import-Module "Microsoft.TeamFoundation.DistributedTask.Task.Internal"
if($distributedTaskContext)
{
#... this never happens
}
ли эта переменная доступна только если PowerShell бежится в настоящее время работают в реальной задаче?
Таким образом, нет возможности получить контекст задания «глубже», чем сама задача? I.e, внутри скрипта poweshell, выполняющего задачу Powershell? Я напишу настраиваемую задачу, если потребуется, но для большинства вещей достаточно простого сценария PowerShell, чтобы выполнить эту работу. В этом случае я хочу опубликовать некоторые результаты тестов обратно в TFS, и это сложно сделать без этого контекста. – RMD
Я закончил тем, что просто написал расширение VSTS, и это обеспечило контекст. Команда TFS должна серьезно подумать над тем, чтобы позволить людям получать этот контекст в окружающем пространстве в любом скрипте, выполняемом агентом VS. – RMD