18

I deploy website through Teamcity using webdeploy method:

web.csproj /P:Configuration=%env.Configuraton% /P:DeployOnBuild=True /P:DeployTarget=MSDeployPublish /P:MsDeployServiceUrl=%env.DeployServiceUrl% /P:AllowUntrustedCertificate=True /P:MSDeployPublishMethod=WMSvc /P:CreatePackageOnPublish=True /P:UserName=%env.DeployUserName% /P:Password=%env.DeployPassword%

The error I recieve constantly:

[MSDeployPublish] VSMSDeploy (35s) [VSMSDeploy] C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.5\Web\Microsoft.Web.Publishing.targets(4196, 5): error ERROR_EXCEEDED_MAX_SITE_CONNECTIONS: Web deployment task failed. (The maximum number of connections for this site has been exceeded. Learn more at: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_EXCEEDED_MAX_SITE_CONNECTIONS.)

On Teamcity agent installed Visual Studio 2010 Express, .netf framework version: 4.0

4

5 回答 5

25

我通过重新启动Web Management Servicein Services解决了这个问题。

于 2015-02-18T07:52:00.987 回答
1

我调查了两端的问题:托管 Web 服务器和构建机器(从 Web 安装程序安装的 Visual Studio 2010 Express SP1),我从中启动部署。重新启动团队城市服务器和代理(问题在 2 个代理上重现)没有帮助。我已经在本地机器上安装了团队城市代理并从中成功部署。然后我比较了成功和失败的构建日志。有趣的部分是错误的来源:

C:\Program Files(x86)\MSBuild\Microsoft\VisualStudio\v10.5\Web\Microsoft.Web.Publishing.targets

在我的本地机器(带有 SP1 的 Visual Studio Ultimate 2010)上只有

MSBuild\Microsoft\VisualStudio** v10** \Web\Microsoft.Web.Publishing.targets

所以我的快速解决方案是在构建代理上使用该方法测试部署。我已经替换了

C:\Program Files(x86)\MSBuild\Microsoft\VisualStudio\v10.5\Web\

C:\Program Files(x86)\MSBuild\Microsoft\VisualStudio\v10\Web\

这解决了问题。我不知道为什么,但部署以前在构建代理上正常工作。

于 2013-08-15T10:30:41.343 回答
1

我也遇到过这种方法来允许无限数量的连接:

1.) 添加以下注册表项:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\IIS Extensions\MSDeploy\3]
"MaxSiteConnections"=dword:00000000

2.) 重启网页管理服务

参考: Nicolas_nguyen1 对此Microsoft 文档的评论

来源: 如何限制 webdeploy 连接数,ERROR_EXCEEDED_MAX_SITE_CONNECTIONS

更新

我能够自己对此进行测试,并且似乎 Web Deploy 将此值视为字面上允许的“0”连接,这导致每次都发生此错误。所以我将它设置为0x7FFFFFFF(32 位整数的最大值)。

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\IIS Extensions\MSDeploy\3]
"MaxSiteConnections"=dword:7FFFFFFF
于 2018-03-12T07:20:18.940 回答
0

今天我在设置的新 TeamCity 版本中遇到了同样的问题。构建使用 Web Deploy 发布两个 MVC4 应用程序,以每晚计划测试本地网络上的服务器。

就我而言,错误是由于在 TeamCity 中的构建计划触发器上选中了“在所有已启用和兼容的代理上触发构建”选项。我们有四个构建代理,选中该选项会同时启动四个构建。其中两个构建成功,两个构建失败并出现ERROR_EXCEEDED_MAX_SITE_CONNECTIONS错误。

于 2014-08-22T15:00:25.483 回答
0

我也遇到了这个错误,我研究了两种解决方法。这是我最初的问题,但我认为这个问题比我的更容易搜索,所以我将在这里重新发布我的发现以帮助其他人: https ://stackoverflow.com/a/49140311/4228027

方法 1 - 通过 MSBuild 限制连接

有一种方法可以限制 MSBuild 可以使用的线程数。

msbuild.exe mysln.sln /maxcpucount:3  

“maxcpucount”限制了 MSBuild 线程,从而限制了可以同时发布的项目数量。如果未定义,MSBuild 将实际使用最多计算机上的处理器数量。

参考:https ://msdn.microsoft.com/en-us/library/bb651793.aspx

方法 2 - 提升服务器上的限制

向服务器添加注册表值

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\IIS Extensions\MSDeploy\3]

“MaxSiteConnections”(DWORD 值):0

然后重新启动“Web 管理服务”。

当您将注册表值设置为 时0,表示无限连接。

参考:Nicolas_nguyen1 在此Microsoft 文档中的评论

于 2018-03-12T16:25:26.730 回答