vNext build on TFS 2015挂在MSBuild步骤,不产生日志文件 [英] vNext build on TFS 2015 hangs on MSBuild step and produces no log files
问题描述
我们最近已从内部部署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步骤,不产生日志文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!