Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows services 使用TFS Build在远程服务器上运行.bat文件_Windows Services_Tfsbuild_Webdeploy - Fatal编程技术网

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

Windows services 使用TFS Build在远程服务器上运行.bat文件,windows-services,tfsbuild,webdeploy,Windows Services,Tfsbuild,Webdeploy,我参与的项目是使用TFS Build和Web Deploy来处理Web站点和服务到服务器的部署。我们还有一个需要部署到服务器上的windows服务 我的问题是:有没有办法从TFS构建服务器将Windows服务部署到Web服务器 我遇到的另一个问题是,需要先停止服务,然后才能部署它。我已尝试修改生成配置文件,但无法使其正常工作 谢谢。选项: 如果在web服务器上安装TFSBuildagent服务并授予在web服务器上运行服务管理权限的用户,则可以仅为部署/安装创建新的生成定义。这是相当简单和直接的

我参与的项目是使用TFS Build和Web Deploy来处理Web站点和服务到服务器的部署。我们还有一个需要部署到服务器上的windows服务

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

我遇到的另一个问题是,需要先停止服务,然后才能部署它。我已尝试修改生成配置文件,但无法使其正常工作

谢谢。

选项:

  • 如果在web服务器上安装TFSBuildagent服务并授予在web服务器上运行服务管理权限的用户,则可以仅为部署/安装创建新的生成定义。这是相当简单和直接的,但只有当您的web服务器数量有限(希望在所有2000台服务器上安装TFS BUild agent)并且仅在非prod环境中工作时,这才有效。这就是我们在非prod部署中的做法,我创建了一个构建定义,它只用于部署,它负责停止服务等所有事情

  • 如果在生成服务器上运行TFSBuild服务的用户在web服务器上拥有足够的权限,则可以使用psexec或powershell远程运行命令。阅读以下链接:1

  • 您是如何停止生成配置文件中的服务的?用户是否有足够的权限

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

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

    第二步,编写实际的脚本来完成工作、停止服务、安装MSI等


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

    在服务器上安装TFS Build不是一个选项。我希望有一种方法可以将其构建到构建配置工作流中,以便在远程服务器上调用命令。构建服务器对web服务器拥有完全权限,以便account可以执行操作,只需将其添加到工作流中即可。