【问题标题】:vNext build on TFS 2015 hangs on MSBuild step and produces no log filesTFS 2015 上的 vNext 构建在 MSBuild 步骤上挂起并且不生成日志文件
【发布时间】:2017-03-20 15:40:14
【问题描述】:

我们最近从本地 TFS2013 升级到 2015 Update1,并设置了 VSO 构建代理。

我现在正尝试在我们的 Git 存储库中为解决方案设置测试(持续集成)vNext 构建,但构建没有运行并且没有产生任何日志.

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

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

代理似乎没有什么问题:

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

当我取消构建和下载日志文件时,zip 文件为空。

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

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

任何人都可以提出前进的道路吗?

【问题讨论】:

    标签: git tfs build continuous-integration tfs-2015


    【解决方案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 的入站规则出现在防火墙入站规则中。

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

    【讨论】:

      【解决方案2】:
      1. 确保运行代理的帐户处于“代理池服务帐户”角色中。

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

      3. 确保完全按照 this article 部署 Windows 构建代理。

      4. 尝试更改属于“构建代理服务帐户”组成员且属于“代理池服务帐户”角色的域帐户,以查看代理是否可以工作。

        李>
      5. 重新部署 windows 代理。

      【讨论】:

      • Cece,谢谢你回来。原来这是一个防火墙入站规则创建规则,可能是 Windows 2012 R2 特定的。
      猜你喜欢
      • 1970-01-01
      • 2018-05-12
      • 1970-01-01
      • 2017-06-26
      • 2016-11-17
      • 1970-01-01
      • 2016-08-27
      • 2019-11-06
      • 2011-04-25
      相关资源
      最近更新 更多