Как запустить исполняемый файл после сборки TFS
Моя задача:
после сборки TFS
1) На сервере X остановите файл Example.exe
2) Скопируйте файлы из Drop Location на сервер X
3) Запустите совершенно новую версию Example.exe на сервере X
Я обновляю DefaultTemplate.xaml в TFS 2012, Visual Studio 2012. Я вхожу в действие InvokeProcess, которое запускает сценарий Do.bat.
Мой агент сборки копирует файлы на сервер X, а затем запускает файл \ X... \ Do.bat
Do.bat это что-то вроде
taskkill /F /IM Example.exe
start \\%~p0Example.exe
Итак, проблема в том, что Example.exe запущен на агенте сборки, а не на сервере X.
Как я могу заставить сборочный агент запускать исполняемый файл на другом сервере? Дополнительный вопрос - стоит ли использовать файлы bat в качестве скриптов в TFS Build?
1 ответ
PsExec
инструмент SysInternals, который будет запускать процесс на удаленном компьютере
PowerShell также может запускать процесс удаленно.
Что касается вашего дополнительного вопроса, я, как правило, посчитал более целесообразным настраивать мои сборки tfs, писать действия по сборке в C# и / или использовать встроенные действия и настраивать шаблон сборки в xaml. Не весело, но я считаю, что внешние скрипты сталкиваются с большим количеством проблем с разрешениями и их трудно отлаживать. Я попробовал их, а потом обычно возвращаюсь в C#.