2

我的任务是:

TFS 构建后

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

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

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

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

我的构建代理将文件复制到服务器 X,然后运行文件 \X...\Do.bat

Do.bat 有点像

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

所以,问题是 Example.exe 在构建代理上运行,而不是在服务器 X 上。

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

4

1 回答 1

3

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

PowerShell 还能够远程启动进程。

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

于 2013-03-01T15:37:18.557 回答