Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/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
Tfs 尝试使用Web部署时拒绝访问_Tfs_Msbuild_Web Deployment_Webdeploy - Fatal编程技术网

Tfs 尝试使用Web部署时拒绝访问

Tfs 尝试使用Web部署时拒绝访问,tfs,msbuild,web-deployment,webdeploy,Tfs,Msbuild,Web Deployment,Webdeploy,我一直在跟踪,遇到了一些错误 我有两台服务器,一台是Windows Server 2008 R2,另一台是Windows Server 2012。在这两台机器上,我都安装了webdeploy3,并且服务webdeploymentagent服务正在这两台机器上运行。我在我的域中拥有该服务帐户,并将这两台计算机上的帐户添加到Administrators组。我还将此帐户用于构建和测试控制器和代理 2008服务器是构建服务器,我想在2012服务器上部署一个带有构建服务器的网站。我有一个构建定义,它使用标

我一直在跟踪,遇到了一些错误

我有两台服务器,一台是Windows Server 2008 R2,另一台是Windows Server 2012。在这两台机器上,我都安装了
webdeploy3
,并且服务
webdeploymentagent服务
正在这两台机器上运行。我在我的域中拥有该服务帐户,并将这两台计算机上的帐户添加到Administrators组。我还将此帐户用于构建和测试控制器和代理

2008服务器是构建服务器,我想在2012服务器上部署一个带有构建服务器的网站。我有一个构建定义,它使用标准TFS 2012 Update 2过程模板(作为MS构建参数添加了
/p:DeployOnBuild=True
)生成带有zip和
deploy.cmd等的包

我有另一个基于LabDefaultTemplate TFS 2012 update 2模板的构建定义。在实验室流程模板中,我在“部署”选项卡上添加了以下命令:

"$(BuildLocation)\_PublishedWebsites\UI.Web.Mvc4_Package\UI.Web.Mvc4.deploy.cmd" /y /m:SERVERNAME_OF_THE_2012_SERVER
当我运行第二个构建定义时,会出现“拒绝访问”错误。我不知道它是从哪里来的。我看这里没有什么特别的事情发生。我还将日志设置为“诊断”,但这不起作用

当我与远程桌面连接到2008构建服务器并手动运行相同的
deploy.cmd
时,一切正常。该站点部署在2012服务器上,所有内容都在运行

有人能帮我吗

谢谢

从生成中添加日志:

Deploy Build on Environment

00:22
Deploying Build

00:22
Run Deployment scripts
Initial Property Values
Values = Web Server | $(BuildLocation)\_PublishedWebsites\UI.Web.Mvc4_Package\start.bat

00:22
Run Deployment Task
Initial Property Values
BuildLocation = \\AP-GDA06-TFSB\DropFolder\Dev MVC4\Dev MVC4_20130510.11
DeploymentScriptDetails = Web Server | $(BuildLocation)\_PublishedWebsites\UI.Web.Mvc4_Package\start.bat
LabEnvironmentUri = vstfs:///LabManagement/LabEnvironment/3
MaxWaitTime = 00:30:00
ThrowOnError = True
UseRoleForDeployment = True
Deployment Task Logs for Machine: 2012_SERVER
 Access is denied
 Exception Message: Team Foundation Server could not complete the deployment task for machine '2012_SERVER', script '\\2008_SERVER\DropFolder\Dev MVC4\Dev MVC4_20130510.11\_PublishedWebsites\UI.Web.Mvc4_Package\start.bat' and arguments ''. (type LabDeploymentProcessException)
Exception Stack Trace: 
Server stack trace: 
   at Microsoft.TeamFoundation.Lab.Workflow.Activities.RunDeploymentTask.ExecuteDeploymentTask.RunCommand(AsyncState state)
   at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Object[]& outArgs)
   at System.Runtime.Remoting.Messaging.StackBuilderSink.AsyncProcessMessage(IMessage msg, IMessageSink replySink)

Exception rethrown at [0]: 
   at System.Runtime.Remoting.Proxies.RealProxy.EndInvokeHelper(Message reqMsg, Boolean bProxyCase)
   at System.Runtime.Remoting.Proxies.RemotingProxy.Invoke(Object NotUsed, MessageData& msgData)
   at System.Action`1.EndInvoke(IAsyncResult result)
   at Microsoft.TeamFoundation.Lab.Workflow.Activities.RunDeploymentTask.ExecuteDeploymentTask.EndExecute(AsyncCodeActivityContext context, IAsyncResult result)
   at System.Activities.AsyncCodeActivity.CompleteAsyncCodeActivityData.CompleteAsyncCodeActivityWorkItem.Execute(ActivityExecutor executor, BookmarkManager bookmarkManager)
Final Property Values
BuildLocation = \\2008_SERVER\DropFolder\Dev MVC4\Dev MVC4_20130510.11
DeploymentScriptDetails = Web Server | $(BuildLocation)\_PublishedWebsites\UI.Web.Mvc4_Package\start.bat
LabEnvironmentUri = vstfs:///LabManagement/LabEnvironment/3
MaxWaitTime = 00:30:00
ThrowOnError = True
UseRoleForDeployment = True
Final Property Values
Values = Web Server | $(BuildLocation)\_PublishedWebsites\UI.Web.Mvc4_Package\start.bat
START UI.Web.Mvc4.deploy.cmd /y /m:2012_SERVER
启动的BAT文件包含以下命令:

Deploy Build on Environment

00:22
Deploying Build

00:22
Run Deployment scripts
Initial Property Values
Values = Web Server | $(BuildLocation)\_PublishedWebsites\UI.Web.Mvc4_Package\start.bat

00:22
Run Deployment Task
Initial Property Values
BuildLocation = \\AP-GDA06-TFSB\DropFolder\Dev MVC4\Dev MVC4_20130510.11
DeploymentScriptDetails = Web Server | $(BuildLocation)\_PublishedWebsites\UI.Web.Mvc4_Package\start.bat
LabEnvironmentUri = vstfs:///LabManagement/LabEnvironment/3
MaxWaitTime = 00:30:00
ThrowOnError = True
UseRoleForDeployment = True
Deployment Task Logs for Machine: 2012_SERVER
 Access is denied
 Exception Message: Team Foundation Server could not complete the deployment task for machine '2012_SERVER', script '\\2008_SERVER\DropFolder\Dev MVC4\Dev MVC4_20130510.11\_PublishedWebsites\UI.Web.Mvc4_Package\start.bat' and arguments ''. (type LabDeploymentProcessException)
Exception Stack Trace: 
Server stack trace: 
   at Microsoft.TeamFoundation.Lab.Workflow.Activities.RunDeploymentTask.ExecuteDeploymentTask.RunCommand(AsyncState state)
   at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Object[]& outArgs)
   at System.Runtime.Remoting.Messaging.StackBuilderSink.AsyncProcessMessage(IMessage msg, IMessageSink replySink)

Exception rethrown at [0]: 
   at System.Runtime.Remoting.Proxies.RealProxy.EndInvokeHelper(Message reqMsg, Boolean bProxyCase)
   at System.Runtime.Remoting.Proxies.RemotingProxy.Invoke(Object NotUsed, MessageData& msgData)
   at System.Action`1.EndInvoke(IAsyncResult result)
   at Microsoft.TeamFoundation.Lab.Workflow.Activities.RunDeploymentTask.ExecuteDeploymentTask.EndExecute(AsyncCodeActivityContext context, IAsyncResult result)
   at System.Activities.AsyncCodeActivity.CompleteAsyncCodeActivityData.CompleteAsyncCodeActivityWorkItem.Execute(ActivityExecutor executor, BookmarkManager bookmarkManager)
Final Property Values
BuildLocation = \\2008_SERVER\DropFolder\Dev MVC4\Dev MVC4_20130510.11
DeploymentScriptDetails = Web Server | $(BuildLocation)\_PublishedWebsites\UI.Web.Mvc4_Package\start.bat
LabEnvironmentUri = vstfs:///LabManagement/LabEnvironment/3
MaxWaitTime = 00:30:00
ThrowOnError = True
UseRoleForDeployment = True
Final Property Values
Values = Web Server | $(BuildLocation)\_PublishedWebsites\UI.Web.Mvc4_Package\start.bat
START UI.Web.Mvc4.deploy.cmd /y /m:2012_SERVER
检查以下答案:

这就是我的解决方案

这也可能对您有用:

检查以下答案:

这就是我的解决方案


这对您也很有用:

如果启动使用DefaultLabTemplate的生成定义,您应该在生成日志中看到以下内容:

如果需要部署
部署
保留部署环境
部署基于环境的构建
部署构建
运行部署脚本
运行部署任务
计算机的部署任务日志:
使用实验室服务帐户访问以下位置:。


您是否看到实验室服务帐户正在使用?

如果启动使用DefaultLabTemplate的生成定义,您应该在生成日志中看到以下内容:

如果需要部署
部署
保留部署环境
部署基于环境的构建
部署构建
运行部署脚本
运行部署任务
计算机的部署任务日志:
使用实验室服务帐户访问以下位置:。


<> P>使用VisualStudio 2012更新4和Team Foundation Server,在单向信任或隔离/工作组网络配置上,我们发现需要额外的步骤。当通过构建部署测试工作流(而不是Web部署)运行自动化单元测试时,我们发现设置实验室服务帐户只是解决方案的一部分。为了避免生成中出现拒绝访问的错误,我们还必须为Visual Studio实验室代理服务设置用户

这是设置实验室服务帐户(在本例中为“.\LabAdmin”)后,服务小程序中的服务的外观:


Visual Studio实验室代理服务|配置、监视…|运行|自动|本地系统 Visual Studio实验室网络代理服务|设置网络属性…|运行|自动|本地系统 Visual Studio测试代理|提供分布式…|正在运行|自动|。\LabAdmin
为了修复访问被拒绝错误,我们还必须在实验室服务帐户下运行Visual Studio实验室代理服务:

Visual Studio Lab Agent Service | Configures, monitors... | Running | Automatic | .\LabAdmin Visual Studio Lab Network Agent Service | Sets network propert... | Running | Automatic | Local System Visual Studio Test Agent | Provides distributed... | Running | Automatic | .\LabAdmin
Visual Studio实验室代理服务|配置、监视…|正在运行|自动|。\LabAdmin Visual Studio实验室网络代理服务|设置网络属性…|运行|自动|本地系统 Visual Studio测试代理|提供分布式…|正在运行|自动|。\LabAdmin
进行此更改并重新启动服务后,访问被拒绝错误消失。这是在两个不同的目标计算机上重复的,至少对于我们的配置来说,这似乎是必要的步骤。

< P>使用VisualStudio 2012更新4和Team Foundation Server,在单向信任或隔离/工作组网络配置上,我们发现需要另外一个步骤。当通过构建部署测试工作流(而不是Web部署)运行自动化单元测试时,我们发现设置实验室服务帐户只是解决方案的一部分。为了避免生成中出现拒绝访问的错误,我们还必须为Visual Studio实验室代理服务设置用户

这是设置实验室服务帐户(在本例中为“.\LabAdmin”)后,服务小程序中的服务的外观:


Visual Studio实验室代理服务|配置、监视…|运行|自动|本地系统 Visual Studio实验室网络代理服务|设置网络属性…|运行|自动|本地系统 Visual Studio测试代理|提供分布式…|正在运行|自动|。\LabAdmin
为了修复访问被拒绝错误,我们还必须在实验室服务帐户下运行Visual Studio实验室代理服务:

Visual Studio Lab Agent Service | Configures, monitors... | Running | Automatic | .\LabAdmin Visual Studio Lab Network Agent Service | Sets network propert... | Running | Automatic | Local System Visual Studio Test Agent | Provides distributed... | Running | Automatic | .\LabAdmin
Visual Studio实验室代理服务|配置、监视…|正在运行|自动|。\LabAdmin Visual Studio实验室网络代理服务|设置网络属性…|运行|自动|本地系统 Visual Studio测试代理|提供分布式…|正在运行|自动|。\LabAdmin 进行此更改并重新启动服务后,访问被拒绝错误消失。这在两个不同的ta上重复