vNext在TFS 2015上构建时,在MSBuild步骤上出现卡顿且没有生成任何日志文件。

3
我们最近从本地TFS2013升级到了2015 Update1,并设置了一个VSO Build Agent。
我现在正在尝试为我们Git存储库中的一个解决方案设置一个测试(持续集成)vNext构建,但是构建没有运行并且没有生成任何日志。
构建属性已经设置为指示正确的Git存储库,变量中添加了以下三个:VSO_GIT_USERNAME、VSO_GIT_PASSWORD、DNXPath。目前构建中只添加了MSBuild步骤。

Showing MSBuild Step

推送提交会触发构建,但是当构建被触发时,它却一直处于“等待代理的控制台输出”的状态。

Waiting for build agent

代理似乎没有任何问题:

  • 它被显示为正在运行(在services.msc中检查)
  • 它没有SSL依赖项
  • 端口9191已经添加到TFS服务器防火墙的入站规则中
  • 代理以“项目集合构建服务”权限运行
  • 代理在Web访问中显示为绿色:

enter image description here

当我取消构建并下载日志文件时,zip文件为空。
手动排队构建(针对特定提交#)时也会发生相同的情况:没有构建运行,也没有日志文件。
我应该做什么/检查来使我的构建进展或产生日志文件?
有人可以建议一种前进的方式吗?
2个回答

1

好的,问题已解决!在我的情况下,我使用防火墙界面(Windows Server 2012 R2)设置了端口9191,并且它的入站规则看起来很不错并且处于活动状态。但事实并非如此。

当我请我的好同事Marc检查该端口是否真的正常时,他在TFS机器上的PowerShell中运行了Get-NetFirewallPortFilter,发现我的端口不在列表中!

他建议的解决方案是运行以下PowerShell脚本(因为防火墙出了问题):

   $port = New-Object -ComObject HNetCfg.FWOpenPort
   $port.Port = 9191
   $port.Name = 'TFS CI Port:9191'
   $port.Enabled = $true

   $fwMgr = New-Object -ComObject HNetCfg.FwMgr
   $profile = $fwMgr.LocalPolicy.CurrentProfile
   $profile.GloballyOpenPorts.Add($port)

运行后,防火墙入站规则中出现了端口9191的入站规则。

然后我手动排队构建,第一次看到它失败(不是挂起!),而且还有日志文件! :)


0
  1. 确保代理程序运行的帐户在“代理池服务帐户”角色中。

  2. 确保队列在集合(https://your-tfs-server:8080/tfs/your-collection/_admin/_AgentQueue)中进行了配置。如果没有,请选择“新建队列..”并选择现有队列。

  3. 确保按照this article的说明精确部署Windows构建代理。

  4. 尝试更改一个域帐户,该帐户是Build Agent Service Accounts组的成员,并属于“代理池服务帐户”角色,以查看代理是否能正常工作。

  5. 重新部署Windows代理。


Cece,感谢您的回复。结果发现是防火墙入站规则创建规则,可能是针对Windows 2012 R2特定的。 - Victoria

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接