我的主机上有一个基于Jenkins Job的DSL管道。该节点生成我的.NET版本。 MSBuild完成后,我将工件存档在主服务器上,并在单独的从属节点上启动DSL管道构建。我已将jenkins工作区更改为客户目录“ C:\ P4Source”
从属节点下载整个构建工件,并将其解压缩到从属节点上的“ C:\ P4Source”。然后,它使用nunit3-console,OpenCover和ReportGenerator / Cobertura
运行各种测试。从属节点通过网络共享与主节点共享这些.xml,包括cobertura.xml。主节点使用cobertura管道阶段来发布报告。
这是我遇到的问题,因为我得到了错误
源代码不可用。一些可能的原因是:
这不是最新版本(为了节省磁盘空间,此插件 仅保留最新版本的源代码)。 Cobertura发现了 源代码,但没有提供足够的信息来定位 源代码。 Cobertura找不到源代码,因此此插件 没有希望找到它。您没有足够的权限来 查看此文件。
这样做的原因是我从从属节点获得的cobertura.xml具有完整的源代码路径,例如
“ C:\ P4Source ..”
。即使在发布Cobertura报告期间在从属节点上具有相同的文件夹结构,我仍然收到错误
源代码不可用
经过研究,看来该问题与我的cobertura.xml中的绝对文件名有关
<package name="MyService" line-rate="0.479638009049774" branch-rate="0.39" complexity="NaN"> <classes> <class name="MyClass" filename="C:\P4Source\MyProject\src\Result.cs" line-rate="0" branch-rate="1" complexity="NaN">
我将路径名更改为使用相对路径
“。\ src \ Result.cs”
然后Cobertura插件就可以发布报告,而不会抱怨链接到覆盖率报告的源代码。
我的问题: