本文介绍了vNext build on TFS 2015挂在MSBuild步骤,不产生日志文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们最近已从内部部署TFS2013升级到2015 Update1,我们已经设置了一个VSO Build Agent。

We have recently upgraded from on-premises TFS2013 to 2015 Update1, and we have set up a VSO Build Agent.

我现在正试图设置一个测试(连续集成)v下一个构建我们的Git存储库中的解决方案,但构建不运行不生成任何日志

I am now trying to set up a test (continuous integration) vNext build for a solution in our Git repository, but the builds are not running and not producing any logs.

构建属性已设置为指示正确的Git仓库,并且以下三个已添加到变量:VSO_GIT_USERNAME,VSO_GIT_PASSWORD,DNXPath。 MSBuild是目前添加到构建中的唯一步骤。

The build properties have been set up to indicate the correct Git repo, and the following three have been added to Variables: VSO_GIT_USERNAME, VSO_GIT_PASSWORD, DNXPath. MSBuild is the only step added to the build at the present.

推送提交会导致构建按预期触发,但是当构建被触发时,它只是挂起等待代理的控制台输出:

Pushed commits result in builds being triggered as expected, but when a build is triggered, it just hangs "Waiting for console output from an agent":

代理似乎没有问题:


  • 它显示为正在运行(在services.msc中检查)

  • 它没有SSL依赖关系

  • 端口9191已添加到TFS服务器防火墙中的入站规则

  • 代理正在使用项目集合构建服务权限运行

  • 代理在Web访问中显示为​​绿色:

  • it is shown as running (checked in services.msc)
  • it has no SSL dependencies
  • port 9191 has been added to Inbound rules in TFS server firewall
  • the agent is running with "Project Collection Build Service" privileges
  • the agent appears green in Web access:

当我取消生成和下载日志文件时,压缩文件为空。

When I cancel the build and download log files, the zip file is empty.

手动(针对特定提交#):无构建运行且没有日志文件。

The same happens when I queue a build manually (against a specific commit #): no build runs and no log files.

我应该怎么做/检查以使我的构建进度或使它产生日志文件?

任何人都可以建议一种方法?

Can anybody suggest a way forward?

推荐答案

好的,解决方案找到!在我的特殊情况下,我使用防火墙接口(Windows Server 2012 R2)设置端口9191,并且它的入站规则看起来很好和活动。但它谎报。

Ok, solution found! In my particular case I set up port 9191 using Firewall interface (Windows Server 2012 R2), and the inbound rule for it looked nice and active. But it lied.

当我问我的一个好同事,马克,检查端口是否真的确定,他跑 Get-NetFirewallPortFilter

When I asked a good colleague of mine, Marc, to check if the port was really ok, he ran Get-NetFirewallPortFilter in PowerShell on the TFS machine and my port was missing from the list!

他建议的解决方案是运行以​​下PowerShell脚本(因为防火墙正在播放):

The solution he suggested was to run the following PowerShell script (since Firewall was playing up):

   $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的入站规则出现在防火墙入站规则中。

Once this was run, an inbound rule for port 9191 appeared in Firewall inbound rules.

然后我手动排队构建,第一次看到它失败(不挂起!并与日志文件在那! :)

I then manually queued the build, and for the first time saw it fail (not hang!), and with log files at that! :)

这篇关于vNext build on TFS 2015挂在MSBuild步骤,不产生日志文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-03 02:08