2011-03-18 130 views
0

我是新来的TFS,有一个很大的问题时,我想使建立在VS2010。构建总是在Visual Studio 2010中“排队”状态(TFS 2010)

该版本不跑,他们总是处于排队状态(没有错误消息)。就好像什么都没有发生。我在互联网上搜索了所有内容,但没有找到解决这个问题的方法。我已经在我的服务器上配置了公共的Drop文件夹(\ MyServer \ Drops ==> C:// Drops)(配置完成后,与目录中的完全权利的域帐户)。

我的目标是建立和部署在服务器上通过TFS我.NET MVC项目(赢Server 2008 R2中)。

我最初开始这篇文章: http://vishaljoshi.blogspot.com/2010/11/team-build-web-deployment-web-deploy-vs.html

有人能告诉哪里出了问题能来?

回答

0

确保生成控制器和构建代理都被成功运行。转到Visual Studio中的团队菜单,然后单击管理构建控制器。它将打开Manage Build Controller窗口,检查Controller和Agent是否显示**** Status **为** Available ****。 enter image description here

+0

其实,我的控制器和代理已经“可用”。正如我所解释的,我只是创建了另一个代理(未使用),并且没关系。 – Areasta 2011-03-19 13:19:20

1

好的..我刚刚创建了一个新的Build代理..有2个构建代理(只有一个使用)我的构建运行! (我不知道为什么。)

+0

您必须使用标签。如果使用多个构建代理,则可能有一个构建定义是CI构建,用于验证您的签入,然后您可以在该计算机上创建构建代理并为其分配标记签入。然后,您可以将构建定义设置为仅在具有签入标记的构建代理上运行。以类似的方式,您可以拥有另一个名为Nightly Build的构建定义。您为其指定Nightly选项卡,然后将构建定义设置为仅在具有此标记的构建代理上运行。 – Jehan33 2011-03-19 15:25:02

+0

同样在这里。我需要2个代理来运行构建。在使用单个构建代理时,我在TFS管理员控制台中有一个“停止”图标。在添加第二个灯之后,灯光变绿。 – barnacleboy 2012-10-31 09:46:40

0

请参见下面的代码检查排队构建状态。

IQueuedBuild queBuild = buildServer.QueueBuild(request); 
Console.WriteLine("Build queued...!"); 
while (true) 
{ 
    Thread.Sleep(5000); 
    queBuild.Refresh(QueryOptions.All); 
    Console.WriteLine("Refreshed...!"); 
    if (queBuild.Status == QueueStatus.Completed || queBuild.Status == QueueStatus.Canceled) 
    { 
     break; 
    } 
} 
Console.WriteLine("Build Completed...!"); 
0

尝试更改“构建控制器属性”页面上的参数“并发运行的最大版本数”。这立即解决了它对我来说。默认值与启用的Build Agent数量相同,“正在运行的版本”显然包含排队的版本。所以添加代理将解决这个问题,但是如果添加的代理不被使用,它不是一个好的解决方案。

0

如果您有构建服务器,开放的TFS管理控制台,然后重新启动您的代理或控制器服务,然后再试一次管理员访问权限。