TeamCity的Web部署失败,错误为ERROR_EXCEEDED_MAX_SITE_CONNECTIONS

时间:2013-08-15 07:58:28

标签: iis teamcity webdeploy

我使用webdeploy方法通过Teamcity部署网站:

  

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%

我不断收到的错误:

  

[MSDeployPublish] VSMSDeploy(35s)[VSMSDeploy] C:\ Program Files   (86)\的MSBuild \微软\ VisualStudio的\ V10.5 \网络\ Microsoft.Web.Publishing.targets(4196,   5):错误ERROR_EXCEEDED_MAX_SITE_CONNECTIONS:Web部署任务   失败。 (此站点的最大连接数已为   超标。了解更多信息:   http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_EXCEEDED_MAX_SITE_CONNECTIONS。)

在Teamcity代理上安装了Visual Studio 2010 Express,。netf框架版本:4.0

5 个答案:

答案 0 :(得分:22)

我已通过重新启动服务中的Web Management Service解决了此问题。

答案 1 :(得分:1)

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

  

C:\程序   文件(x86)\的MSBuild \微软\ VisualStudio的\ V10.5 \网络\ Microsoft.Web.Publishing.targets

在我的本地计算机上(Visual Studio Ultimate 2010 with SP1)a只有

  

的MSBuild \微软\ VisualStudio的**的 V10 ** \网络\ Microsoft.Web.Publishing.targets

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

的内容
  

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

  

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

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

答案 2 :(得分:1)

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

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

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

2.)重新启动 Web管理服务

参考: Nicolas_nguyen1对此Microsoft document

的评论

来源: How to limit webdeploy connection number, ERROR_EXCEEDED_MAX_SITE_CONNECTIONS

<强>更新

我能够自己测试一下,似乎Web Deploy将这个值视为字面上的&#34; 0&#34;允许连接,导致每次都发生此错误。所以我将它设置为0x7FFFFFFF(最大值为32位整数)。

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

答案 3 :(得分:0)

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

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

答案 4 :(得分:0)

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

方法1 - 通过MSBuild限制连接

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

msbuild.exe mysln.sln /maxcpucount:3  

&#34; maxcpucount&#34;限制MSBuild线程,从而限制可以同时发布的项目数。如果没有定义,MSBuild实际上将使用最多计算机上的处理器数量。

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

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

将注册表值添加到服务器

  

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

     

&#34; MaxSiteConnections&#34; (DWORD值):0

然后重启&#34; Web管理服务&#34;。

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

参考:Nicolas_nguyen1对此Microsoft document

的评论