git - 基于 TFS 2015 的 vNext 构建在 MSBuild 步骤挂起并且不生成任何日志文件

标签 git tfs build continuous-integration tfs-2015

我们最近从本地 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 文件是空的。

当我手动对构建进行排队(针对特定提交#)时,也会发生同样的情况:没有构建运行,也没有日志文件。

我应该做什么/检查以使我的构建进度或使其生成日志文件?

有人可以提出前进的方向吗?

最佳答案

好的,找到解决方案了!在我的特殊情况下,我使用防火墙接口(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/

相关文章:

html - 样式表未从 URL 加载(GitHub raw)

Git 终端语言在 'git checkout' 后更改为另一个分支

tfs - 无处不在的团队资源管理器

java - Heroku slug 大小计算?

tsconfig.json 中的 typescript outDir 设置不起作用

即使在新的克隆中,Git repo 也会继续显示修改过的文件

Git 将未完成的更改推送到 repo

tfs - LibGit2Sharp 版本控制错误 MSBuild

visual-studio-2010 - 如何使用构建后事件 checkout -复制- checkin TFS 中的文件?

c++ - 在 Unity Builds 中创建文件范围的替代方法