仅使用MSTest代理从远程系统上的TFS构建工作流运行部署脚本

时间:2011-10-18 21:12:47

标签: tfs continuous-integration tfs2010 mstest team-build

我的问题:如何在仅运行MSTest代理的远程系统上从TFS 2010构建模板运行部署脚本?

我知道这可以通过激活测试设置配置文件中的“部署”部分来完成,但这不够灵活。晚上一个构建运行。构建成功后,将部署脚本放置在放置位置。放置位置是特定于日期,项目和构建定义。这些参数在我们使用的TFS构建模板中可用。

我没有实验室管理,只有物理服务器。我宁愿不使用额外的构建代理来破坏物理服务器以仅进行部署。 MSTest代理显然能够运行部署脚本,但是如何使用TFS构建工作流中的该功能。例如,我可以在没有实验室管理的情况下使用 RunDeploymentScript 活动吗?

1 个答案:

答案 0 :(得分:5)

PSExec是在远程计算机上运行脚本的绝佳工具。我在Team Deploy中使用它,允许您从Team Build在远程计算机上安装MSI。您也可以在远程计算机上运行PowerShell,但设置起来要复杂一些。另一种选择是使用MSDeploy。有一个命令选项,您可以在远程计算机上运行任何命令。我通常使用InvokeProcess活动在构建服务器上调用PowerShell脚本。在PowerShell脚本中,我调用MSDeploy在目标服务器上运行远程PowerShell脚本。听起来很糟糕,但工作得很好。

您无法在目标计算机上运行RunDeploymentScript。您可以使用修改后的模板部署到物理环境中。 Here is a good post on doing this.。我上面提到的选项不需要任何代理。您可以在没有实验室管理的情况下使用ExecuteRemoteTestRun实验室管理活动来运行带有测试代理的MTM测试,其中测试控制器已注册到项目集合(测试管理器)。

如果您对这些选项有任何疑问,请与我们联系。