如何在TFS Build之后运行可执行文件

时间:2013-03-01 07:12:56

标签: deployment batch-file tfs2012 workflow-activity build-agent

我的任务是:

在TFS构建之后

1)在服务器X上停止文件Example.exe

2)将文件从Drop Location复制到服务器X

3)在服务器X上运行一个全新版本的Example.exe

我正在更新TFS 2012,Visual Studio 2012中的DefaultTemplate.xaml。 我正在输入运行Do.bat脚本的InvokeProcess活动。

我的Build Agent将文件复制到服务器X,然后运行文件\ X ... \ Do.bat

Do.bat就像是

taskkill /F /IM Example.exe
start \\%~p0Example.exe

因此,问题是Example.exe在Build Agent上运行,而不是在服务器X上运行。

如何让构建代理在另一台服务器上运行可执行文件? 另外一个问题 - 是否值得将bat文件用作TFS Build中的脚本?

1 个答案:

答案 0 :(得分:2)

PsExec是一个SysInternals工具,可以在远程计算机上运行进程。

PowerShell也可以launch a process remotely.

至于你的其他问题,我一般认为更有价值的是定制我的tfs构建在C#中编写构建活动和/或使用内置活动并在xaml中自定义构建模板。不好玩,但我发现外部脚本会遇到更多权限问题并且难以调试。我已经尝试过了,然后我通常会回到C#。