我们最近从本地 TFS2013 升级到 2015 Update1,并且我们设置了一个 VSO Build Agent。
我现在正在尝试为我们的 Git 存储库中的解决方案设置测试(持续集成)vNext 构建,但构建未运行并且未生成任何日志.
已设置构建属性以指示正确的 Git 存储库,并且已将以下三个添加到变量中:VSO_GIT_USERNAME、VSO_GIT_PASSWORD、DNXPath。 MSBuild 是目前添加到构建中的唯一步骤。
推送提交导致构建按预期触发,但是当构建被触发时,它只是挂起“等待来自代理的控制台输出”:
代理好像没什么问题:
- 它显示为正在运行(已在 services.msc 中检查)
- 它没有 SSL 依赖性
- 端口 9191 已添加到 TFS 服务器防火墙的入站规则中
- 代理以“项目集合构建服务”权限运行
- 代理在 Web 访问中显示为绿色:
当我取消构建和下载日志文件时,zip 文件是空的。
当我手动对构建进行排队(针对特定提交#)时,也会发生同样的情况:没有构建运行,也没有日志文件。
我应该做什么/检查以使我的构建进度或使其生成日志文件?
有人可以提出前进的方向吗?
最佳答案
好的,找到解决方案了!在我的特殊情况下,我使用防火墙接口(interface) (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 的入站规则。
然后我手动对构建进行排队,这是第一次看到它失败了(不是挂起!),而且还有日志文件! :)
关于git - 基于 TFS 2015 的 vNext 构建在 MSBuild 步骤挂起并且不生成任何日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36315100/