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

kro*_*ijk 6 tfs continuous-integration mstest team-build tfs2010

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

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

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

Mik*_*Dev 5

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

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

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