代码之家  ›  专栏  ›  技术社区  ›  Chubsdad

Jenkins Cobertura源代码不可用

  •  0
  • Chubsdad  · 技术社区  · 5 年前

    我有一个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插件可以发布报告,而不会对链接到覆盖率报告的源代码产生任何抱怨。

    我的问题:

    1. 我做错了什么,以及如何在Cobertura.xml文件中获取相对路径名?
    2. 这个问题是因为我已经自定义了我的工作区目录吗?(安装插件后)
    0 回复  |  直到 5 年前