我有一个DSL管道为我的主人詹金斯工作。此节点生成我的.NET生成。MSBuild完成后,我将工件存档在主节点上,并在单独的从节点上启动DSL管道构建。我已将jenkins工作区更改为客户目录“C:\ P4Source”
从节点下载整个构建工件并解压到从节点上的“C:\P4Source”。然后使用nunit3控制台、OpenCover和ReportGenerator/Cobertura运行各种测试
从节点通过网络共享与主节点共享这些.xml,包括cobertura.xml。主节点使用cobertura pipeline stage发布报告。
这是我面临的问题,因为我得到了错误
源代码不可用。一些可能的原因是:
这不是最新的版本(为了节省磁盘空间,这个插件
只保留最新版本的源代码)。科伯图拉发现了
源代码,但没有提供足够的信息来定位
源代码。Cobertura找不到源代码,因此此插件
没有希望找到它。您没有足够的权限
查看此文件。
原因是我从从属节点获得的cobertura.xml具有到源代码的完整路径,例如。
“C:\ P4源..”
. 即使在发布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插件可以发布报告,而不会对链接到覆盖率报告的源代码产生任何抱怨。
我的问题:
-
我做错了什么,以及如何在Cobertura.xml文件中获取相对路径名?
-
这个问题是因为我已经自定义了我的工作区目录吗?(安装插件后)