【问题标题】:Index Sources & Publish Symbols step not publish symbols in TFS 2015索引源和发布符号步骤不在 TFS 2015 中发布符号
【发布时间】:2016-04-13 04:17:05
【问题描述】:

我在使用 TFS 2015 构建定义中的索引源和发布符号步骤发布符号(移动到符号服务器上的共享目录)时遇到问题。

我有一个简单的 Hello World 项目 - 一个 dll、一个输出中的 pdb 和简单的 TFS 2015 构建定义。构建定义包含两个步骤。

  1. VS Build - 构建解决方案 \\**\*.sln(使用默认配置)
  2. 索引源和发布符号 - 发布符号路径:\\sw\\symbols(在 sw pc 上具有默认配置和共享目录符号)。此位置适用于 XAML 构建定义!

当我对新构建进行排队时,一切似乎都正常(变量具有正确的内容等),但符号服务器上的共享文件夹不包含所需的 pdb 文件。

请检查以下(截断)TFS 2015 构建日志。谢谢。

Starting: Build  
Starting: Get sources  
Checked out branch refs/heads/master for repository 1400666 at commit bd3b859e312be62d8af976f233f7407863ba33b8
Running tasks  

Starting task: Build solution \**\*.sln  
Build succeeded.  
    0 Warning(s)
    0 Error(s)
Time Elapsed 00:00:00.60  
Finishing task: VSBuild  

Starting task: Publish symbols path: \\sw\\symbols  
Executing the powershell script: C:\BuildAgent\tasks\PublishSymbols\1.0.4\PublishSymbols.ps1  
Find-Files -SearchPattern **\bin\**\*.pdb -RootFolder C:\BuildAgent\_work\57cae171\1400666  
>pdbFile= C:\BuildAgent\_work\57cae171\1400666\HelloWorld\bin\Debug\HelloWorld.pdb  
>Found 1 files to index...  
Invoke-IndexSources -RepositoryEndpoint repositoryEndpoint -SourceFolder C:\BuildAgent\_work\57cae171\1400666 -PdbFiles pdbFiles  
>Invoke-PublishSymbols -PdbFiles pdbFiles -Share \\sw02\\symbols -Product Build -Version 20160108.7 -MaximumWaitTime 7200000 -MaximumSemaphoreAge 1440 -ArtifactName Symbols_debug  
Start: AssociateArtifact  
Associated artifact 15 with build 986  
End: AssociateArtifact  
Finishing task: PublishSymbols  

Worker Worker-e99a050a-0cc5-477e-bf6f-cd374173434f finished running job e99a050a-0cc5-477e-bf6f-cd374173434f  
Finishing Build  

注意:使用 symstore.exe(在我的 ps1 脚本中的 powershell 构建步骤中)发布符号有效。

【问题讨论】:

  • 根据日志,符号文件已发布到\\sw02\symbols 文件夹。当 vNext 构建将符号发布到文件夹时,它会在其中创建一个类似“000Admin”的文件夹,并在该文件夹中记录添加文件信息。你能检查它是否存在吗?
  • 不,不是。符号文件夹仍然是空的。
  • 你能解决这个问题吗?对我来说,这项任务工作正常,但是当我像消费者一样调试时,它显示 D\1\a... 位置并说在本地系统上找不到文件。这个任务之后你怎么调试。我用过这个docs.microsoft.com/en-us/azure/devops/artifacts/symbols/…
  • 你必须提出你的问题,大多数明显的事情已经被尝试和检查过了。我很惊讶没有人建议重新安装。

标签: indexing tfsbuild symbols tfs-2015


【解决方案1】:

我只是在路径末尾输入了一个多余的空格后重现了这个问题。因此,您可能需要检查构建定义中的发布符号路径,确保其中没有多余的空间。

【讨论】:

  • 不,我在符号路径中没有任何多余的空格。
  • @honza 那么“symbols”文件夹是否存在于 \\sw02 上?正如我所观察到的,该任务只能将文件发布到现有路径,它不能创建文件夹。
  • 是的,“符号”文件夹存在!我可以连接 co sw02 机器(例如通过 mstsc)并浏览“符号”文件夹。我也可以在浏览器上显示 \\sw02\symbols。
  • @honza 您是否在错误日志中进行了一些更改?此处为 \\sw:“发布符号路径:\\sw\\symbols”,但此处为 \\sw02“-Share \\sw02\\symbols -Product Build”。
  • 非常抱歉!我有两个共享文件夹 \\sw\symbols 和 \\sw02\symbols(sw02 是构建机器)。我在这两个地方都有同样的问题!
【解决方案2】:

当发布符号的路径(您的共享目录)末尾有一个“\”时,我也看到了同样的问题。我将路径设置为 \bldmachine\final\symbols\ 之类的东西,一切似乎都成功了,但没有发布任何符号。只有当我删除尾随的“\”时它才开始工作。最终的工作路径就像 \bldmachine\final\symbols

【讨论】:

  • 这可能不是我的情况。我使用 \\sw02\symbols 之类的路径并发布仍然无法正常工作。顺便说一句,共享文件夹的路径可能不是以双斜杠开头?在你的情况下 \\bldmachine\final\symbols?
猜你喜欢
  • 2015-12-23
  • 2016-07-27
  • 2018-07-10
  • 2015-12-06
  • 1970-01-01
  • 2020-10-26
  • 1970-01-01
  • 2020-02-17
  • 2019-08-29
相关资源
最近更新 更多