Сервер сборки Visual Studio Team Services в Azure

Я пытаюсь создать собственный сервер сборки для Visual Studio Team Services в Azure. Я установил агент сборки и Visual Studio Express на виртуальную машину, которая работает и подключена к моему проекту на visualstudio.com в качестве агента сборки в пуле «По умолчанию».

Однако, когда я попытался запустить сборку, я получил следующую ошибку:

No agent found in pool 1 which satisfies the specified demands:
msbuild
visualstudio
vstest
Agent.Version -gtVersion 1.98.1

MSBuild уже был в списке возможностей на сайте visualstudio.com, но не в двух других, поэтому я покопался в C:\Program Files (x86) и добавил в список эти две возможности:

vstest: C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow
visualstudio: C:\Program Files (x86)\Microsoft Visual Studio 14.0

По крайней мере, сборка запускается, но я получаю еще одну ошибку на этапе «Тестовые сборки». Я думаю, что наиболее важной частью сообщения об ошибке является Unable to determine the location of vstest.console.exe, во всяком случае, здесь оно полностью:

System.Management.Automation.CmdletInvocationException: Unable to determine the location of vstest.console.exe ---> System.IO.FileNotFoundException: Unable to determine the location of vstest.console.exe
at Microsoft.TeamFoundation.DistributedTask.Task.Internal.PowerShell.InvokeVSTestCmdlet.GetVsTestLocation()
at Microsoft.TeamFoundation.DistributedTask.Task.Internal.PowerShell.InvokeVSTestCmdlet.ProcessRecord()
at System.Management.Automation.CommandProcessor.ProcessRecord()
--- End of inner exception stack trace ---
at System.Management.Automation.Runspaces.PipelineBase.Invoke(IEnumerable input)
at System.Management.Automation.PowerShell.Worker.ConstructPipelineAndDoWork(Runspace rs, Boolean performSyncInvoke)
at System.Management.Automation.PowerShell.Worker.CreateRunspaceIfNeededAndDoWork(Runspace rsToUse, Boolean isSync)
at System.Management.Automation.PowerShell.CoreInvokeHelper[TInput,TOutput](PSDataCollection`1 input, PSDataCollection`1 output, PSInvocationSettings settings)
at System.Management.Automation.PowerShell.CoreInvoke[TInput,TOutput](PSDataCollection`1 input, PSDataCollection`1 output, PSInvocationSettings settings)
at Microsoft.TeamFoundation.DistributedTask.Handlers.PowerShellHandler.Execute(ITaskContext context, CancellationToken cancellationToken, Int32 timeoutInMinutes)
at Microsoft.TeamFoundation.DistributedTask.Worker.JobRunner.RunTask(ITaskContext context, TaskWrapper task, CancellationTokenSource tokenSource)

Я посмотрел, и vstest.console.exe находится в папке vstest, которую я указал выше, я также пытался добавить эту папку в систему PATH, но это не имеет значения.

Как настроить работающий агент сборки в Azure?


person gfv    schedule 15.07.2016    source источник
comment
Какая версия Visual Studio у вас установлена? Один до VS 2015? Или вы установили Community Edition 2015 года?   -  person Wouter de Kort♦    schedule 16.07.2016


Ответы (4)


Visual Studio Express не имеет инструментов тестирования. Установите Visual Studio Community (при условии, что вы имеете право на участие в сообществе в соответствии с условиями лицензирования) или выпуск Visual Studio (профессиональный/корпоративный), для которого у вас или вашей организации есть лицензия.

person Daniel Mann    schedule 16.07.2016

В журналах сборки TFS в разделе «Тестовые сборки» я вижу ошибку:

System.Management.Automation.CmdletInvocationException: невозможно определить расположение vstest.console.exe

У меня был установлен VSTest как Visual Studio 2015, я использую VS/TFS2017, поэтому переход на последнюю версию решил проблему:

введите здесь описание изображения

person Jeremy Thompson    schedule 08.06.2017

Вы захотите установить Visual Studio на свой сервер сборки. В этот момент агент сборки распознает доступные возможности, такие как msbuild, visualstudio, and vstest.

person Ed Blankenship    schedule 16.07.2016

Я нашел решение, вам просто нужно убедить свою сборку машина, что на ней действительно установлен VS. Из ссылки:

Мне помогло создать следующий раздел реестра: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\14.0

и внутри этого ключа создайте новое значение типа string с именем ShellFolder и значением C:\Program Files (x86)\Microsoft Visual Studio 14.0.

Надеюсь, поможет

person DontPanic345    schedule 12.12.2016