Jenkins Cobertura源代码不可用

时间:2019-02-26 15:19:45

标签: jenkins jenkins-pipeline jenkins-plugins cobertura

我的主机上有一个基于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插件就可以发布报告,而不会抱怨链接到覆盖率报告的源代码。

我的问题:

  1. 我在做什么错了,如何在Cobertura.xml文件中获得相对路径名?
  2. 这是因为我已自定义工作空间目录吗? (安装插件后)

0 个答案:

没有答案