使用TFS Build在远程服务器上运行.bat文件

时间:2013-07-24 22:18:50

标签: windows-services tfsbuild webdeploy

我所在的项目是将TFS Build与Web Deploy结合使用来处理网站和服务到服务器的部署。我们还有一个需要部署到服务器的Windows服务。

我的问题是:有没有办法从TFS Build服务器将Windows服务部署到Web服务器?

我遇到的另一个问题是服务需要在部署之前停止。我试图修改Build Configuration文件,但无法让它工作。

感谢。

1 个答案:

答案 0 :(得分:1)

选项:

  1. 如果在Web服务器上安装TFSBuildagent服务并授予在Web服务器上运行服务管理员权限的用户,则可以仅为部署/安装创建新的构建定义。这是相当简单和直接的,但这只适用于您拥有有限数量的Web服务器(谁想要在所有2000台服务器上安装TFS BUild代理)并且只能在非prod环境中工作。这就是我们为非prod部署做的事情,我创建了一个仅用于部署的构建定义,它负责停止服务等所有事情。

  2. 如果在构建服务器上运行TFSBuild服务的用户在Web服务器上拥有足够的权限,那么您可以使用psexec或powershell远程运行命令。请阅读以下链接:1。PSEXEC

  3. Powershell Remote commands
  4. 您是如何在构建配置文件中停止服务的?用户是否有足够的权利?

    没有内置的活动/流程可以帮助您在TFS构建工作流程中的远程计算机上运行脚本。

    第1步是确定如何在远程计算机上运行脚本,如上所述,您可以使用PSEXEC或Powershell(尽管在远程计算机上运行PowerShell可能会稍微复杂一些)。

    Step2,编写实际脚本来完成工作,停止服务,安装MSI等。

    步骤3,编辑当前的构建定义 - 创建新的自定义活动或在构建定义中使用InvokeProcess活动来调用您在步骤2中创建的脚本。InvokeProcess Activity