“项目覆盖率设置为 0%” – JaCoCo 和 Sonar 在 Jenkins 中与 Ant

2024-01-07

我将工作从单个 Hudson 机器转移到了多从机 Jenkins 环境,现在 JaCoCo 覆盖范围不再起作用。

工作(旧): 哈德森2.0.1, 詹金斯声纳插件 1.7.1, 声纳2.1.2

破损(新): 詹金斯 1.446, 詹金斯声纳插件 1.7.2, 声纳2.1.2

我的 Hudson 作业称为 Pinnacle,它过去在单个 Hudson 服务器上运行,Sonar 在同一台机器上运行。我通过执行以下操作来设置我的(非 MAVEN)构建。

1) 在我的 build.xml 中添加了一个 Ant 目标,名为test-with-coverage

2) 将 Hudson 中的 Pinnacle 作业配置为具有以下属性的“调用独立声纳分析”:

sonar.projectKey=com.skyboximaging:pinnacle
sonar.projectName="Pinnacle"
sonar.projectVersion=1.0
sources=Pinnacle/src/java
tests=Pinnacle/test/java
binaries=Pinnacle/classes
sonar.jacoco.reportPath=Pinnacle/jacoco.exec
sonar.jacoco.antTargets=test-with-coverage

(请注意,代码已检出到 Jenkins 作业工作区的 Pinnacle 目录中。)

3)配置Sonar“常规设置”以使用JaCoCo进行代码覆盖

一切都很顺利!

但在新的 Jenkins 环境中,我在 Jenkins 构建输出中看到此错误:

23:15:17.863 INFO  Sensor JaCoCoSensor...
23:15:17.868 INFO  Project coverage is set to 0% as no JaCoCo execution data has been dumped: /var/lib/jenkins/workspace/Pinnacle/Pinnacle/jacoco.exec

该文件在运行构建的从属设备上不存在。 (目录 /var/lib/jenkins/workspace/Pinnacle/Pinnacledoes exist.)

所有其他传感器(FindBugs、PMD 等)似乎都工作正常。只是JaCoCo坏了。

Sonar/JaCoCo 甚至可以在多从机 Jenkins 环境中工作吗?

我怀疑 Ant 任务test-with-coverage没有运行。 Sonar如何定位build.xml?新旧安装有什么不同?


我最近设置并成功让 Sonar 和 Jacoco 一起运行。因为我最近才接触这个主题,所以我想我应该在 stackoverflow 上检查类似的问题并提供帮助。我从 Jacoco 获得结果,但发现除了您在帖子中列出的属性之外,您还必须显式设置以下参数:

sonar.core.codeCoveragePlugin=jacoco
sonar.jacoco.reportPath=tests/jacoco-exec/jacoco.exec
sonar.dynamicAnalysis=reuseReports
sonar.surefire.reportsPath=tests/test-reports

如果您希望能够使用 sonar.jacoco.reportPath 属性,则必须设置 sonar.core.codeCoveragePlugin=jacoco 。否则,您将必须使用 sonar.jacoco.itReportPath 属性。但是,我建议仅设置 codeCoveragePlugin 和 reportPath 属性。否则,它不会显示在声纳中的默认覆盖小部件下。请注意,默认覆盖工具和 jacoco 不能一起使用。它必须是其中之一。我决定使用Jacoco。

您的 ant 目标必须配置为在运行声纳任务之前生成 jacoco.exec 结果:

<jacoco:coverage enabled="${tests.code.coverage}" destfile="${jacoco.exec.dest}">
  <junit fork="yes" printsummary="withOutAndErr" dir="${tests.working.dir}">
  ...

如果您在声纳之前运行 junit,即如果您在声纳之外运行 junit,请务必告诉声纳重复使用报告和任何 sunfire 报告:

sonar.dynamicAnalysis=reuseReports
sonar.jacoco.reportPath=tests/jacoco-exec/jacoco.exec
sonar.surefire.reportsPath=tests/test-reports

无论出于何种原因,如果您需要更详细的调试,请使用以下属性:

声纳.verbose=true

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

“项目覆盖率设置为 0%” – JaCoCo 和 Sonar 在 Jenkins 中与 Ant 的相关文章

  • 使用 Groovy 从 Jenkins 主节点访问从节点上的文件

    我正在使用 Jenkins Build Flow 插件来实现并行化 Groovy DSL 执行某些文件操作 即使该选项Restrict where this project can be run设置为在特定从属设备上运行作业 DSL 在主控
  • Git 子模块未在 Jenkins 构建中更新

    我在詹金斯的一个项目中有一个子模块 我已启用高级设置以递归更新子模块 当我运行构建时 我看到工作区包含子模块中的文件 问题是 它似乎是子模块的第一个修订版 当我推送更改 托管在 GitHub 上的存储库 时 Jenkins 似乎没有更新子模
  • 声纳要求将这一领域定为最终目标

    我的程序中有以下代码 在与 Maven 集成后 我正在运行 SonarQube 5 对其进行代码质量检查 我面临这个错误 将此 public static processStatus 字段设为最终字段 将此 public static pr
  • 如何在 Jenkins 控制台输出中隐藏 checkout scm 步骤输出

    我在 Jenkinsfile 脚本化管道 中的第一个阶段是 checkout scm 它简要描述了 GitHub checkouts 和所有修订相关的内容我不想在 Jenkins 控制台输出中显示 是否可以将其隐藏在 Jenkins 的控制
  • 在 Jenkins API 中,有没有办法找到上次构建的 git 提交?

    我想编写一个脚本来自动创建热修复的功能分支 为了做到这一点 我需要弄清楚如何查看当前构建中的最后一次提交 有没有办法从 Jenkins API 获取最后一次提交 git checkout b hotfix
  • 合并 GitHub 中的拉取请求后,Jenkins 将不会触发构建

    到目前为止 在 Jenkins 中触发构建可以很好地创建新的拉取请求 推送更改并留下评论 例如test this please但是 当我在 GitHub 中点击绿色的 合并拉取请求 按钮时 我没有看到 Jenkins 中正在运行任何作业 我
  • Jenkins - 配置 Jenkins 以轮询 SCM 中的更改

    我正在与 jenkins 合作 当 svn 存储库发生更改时 我想运行 Maven 目标 我附上了一张我当前配置的图片 我知道每 5 分钟检查一次存储库是疯狂的 我想只有当有新的变化时才运行它 但我找不到方法 无论如何 它不会检查存储库 我
  • assert groupType != null 如何包含4个分支

    我需要测试以下代码 public List
  • Jenkins 插件 ssh-agent 显示“错误:无法运行 ssh-add”

    我收到错误 错误 无法运行 ssh add 我正在尝试 ssh 进入远程机器 所以 SSH credential are set Pipeline script is calling ssh agent On executing the j
  • JobDSL - 如果 Jenkins 中尚不存在则创建一个新作业

    我创建了这个 Groovy JobDSLs 脚本来生成新的 Jenkins 作业 List screen AAA Description AAA Description for item in screen job item 0 descr
  • Jenkins 中的导出/导入作业

    两个不同的 Jenkins 之间可以交换工作吗 我正在寻找一种导出 导入作业的方法 可能使用 jenkins 命令行是另一种选择 请参阅https wiki jenkins ci org display JENKINS Jenkins CL
  • Jenkins v2.212:创建扩展解析器类时出错:找不到类

    将 Jenkins 升级到 v2 212 并安装许多可用的插件更新后 某些作业开始失败并出现以下错误 12 43 35 WS CLEANUP Deleting project workspace 12 43 35 WS CLEANUP De
  • 致命:Jenkins IIS ID 无效

    我正在尝试设置 Jenkins 从 bitbucket 中提取并构建一个项目 我在 IIS 8 5 Server 2012 r2 上使用它 我已经设置了 Git 和 Bitbucket 插件 我已经建立了一个包含以下内容的项目 Branch
  • Jenkins 上的 XCode 项目陷入“codesign”

    我使用 Jenkins 与 XCode 插件进行持续集成 有一个 Jenkins 坚持的项目 usr bin codesign force sign 接下来是旋转器 永远旋转 我以前从未见过这个 以前有人见过这个吗 是配置文件问题还是证书问
  • tmatesoft.svn.core.SVNAuthenticationException:svn:E170001

    我们正在一个遗留项目 maven 中工作来设置devop 詹金斯首发 Jenkins 构建现在没有问题 但是 在将 sonarqube 与 jenkins 集成时 我们收到以下错误 ERROR Error during SonarQube
  • 来自 jenkins api 的节点标签

    有什么方法可以从 jenkins API 中提取节点标签吗 这standard https wiki jenkins ci org display JENKINS Remote access API base url computer no
  • 詹金斯上的登录类型选择有什么区别?

    我之前已经在一些机器上通过 war 文件和作为 Windows 服务安装的网页安装了 jenkins 现在我尝试通过 msi 文件将其安装在另一台计算机上 但我遇到了一个问题 在安装步骤中 有一个步骤询问我 登录类型 这给了我 2 个选择
  • 如何避免开发人员将凭证推送到 bitbucket?

    我们有一个应用程序 它使用 JSON 文件来定义数据库和其他 API 的连接字符串和凭据 理想情况下 这些凭证作为变量添加到 bitbucket 存储库中 并在 Jenkins 的构建期间进行替换 开发商在当地与他们合作时更换了他们 我们需
  • TeamCity 将功能分支推送到主分支

    有没有办法将成功构建的功能分支推送到另一个分支 我想要这样的东西 Git 存储库 Gitorious GitHub 等 分支机构 master 当前项目的代码 质量保证 代码等待 QA 的分支 功能分支 许多远程分支 开发人员可以在其中开发
  • 在centos上设置jenkins:ssh密钥和git的问题

    经历了很多问题 但似乎没有什么能解决我的问题 或者更准确地说 我不确定我是否正确地完成了整个事情 所以这里是 已安装centos 6 3操作系统 然后我按照以下指南安装詹金斯 https wiki jenkins ci org displa

随机推荐

  • 国际化 HelloWorld 程序 .NET

    我有一个小型测试应用程序 它有 2 个资源文件 Resources resx Resources de DE resx 具有完全相同的字符串名称 但将字符串转换为德语 对于我的表单 我将 Localize 属性设置为 true 在我的应用程
  • Postgresql 转储权限被拒绝

    我在尝试转储数据库时收到此错误 我输入 linuxuser sudo su postgres linuxuser sudo password for linuxuser pg dump h localhost mydb gt tempfil
  • 枚举不应该在 API 中使用吗?

    我正在使用提供给我的已编译的 C 库 我对编译库时使用的编译器 版本 选项等的信息有限 库接口使用enum既可以在传递的结构中 也可以直接作为传递的参数 问题是 如何确保或确定当我编译代码以使用提供的库时 我的编译器将为这些库使用相同的大小
  • 如何将 Gradle 中的原生 JUnit 5 支持与 Kotlin DSL 结合使用?

    我想将内置 JUnit 5 与 Gradle Kotlin DSL 一起使用 因为在构建过程中我收到此警告 WARNING The junit platform gradle plugin is deprecated and will be
  • 所有构建的 gcloud 步骤超时的全局限制在哪里设置?

    在哪里可以找到 gcloud 构建步骤超时的全局限制 这是我的 gcloud 构建配置 steps name gcr io cloud builders yarn name gcr io cloud builders yarn args b
  • 在 yaml.dump Python 中强制引用

    在我进入之前 是的 我已经研究过它并且知道 YAML 不区分引号和非引号 而只是按原样获取类型 坦率地说 我认为没有引号更好 但不幸的是这不是我需要的 所以请尝试理解我have研究了这个问题 但仍然需要我的字符串对象周围的引号 在我的代码中
  • readAsDataURL 不处理 captureAudio 中的文件

    我的 FileReader 对象可以完美上传图像 我正在追踪onload以及其他事件 这些都在我上传图像时发生 fileReader new FileReader fileReader onloadstart e gt window ale
  • 在根模块中使用 aws_vpc 数据源的 Terraform 鸡/蛋问题

    我有一个根 Terraform 模块 它声明了 VPC 模块和其他模块 例如要在 VPC 中启动的 EC2 实例 在 EC2 模块中 我使用以下命令读取 VPCaws vpc type data aws vpc vpc filter nam
  • 在 Java 中将 DatagramPacket 转换为字节数组后解析它

    我正在尝试解析我将在套接字上收到的 DatagramPacket 我知道我将收到的数据包的格式 即 DHCPREQUEST 数据包 但我认为这并不重要 为了简单起见 我们只考虑前六个字段 第一个字段是 操作码 为 1 个字节 第二个字段是
  • 将调整大小的位图文件设置为 MFC 优化校准

    有没有比这更简单的方法 如果这是唯一的方法 这里是否存在潜在的内存泄漏 CImage img1 int dimx 100 dimy 100 img1 Load filename filename path on local system t
  • 内容安全策略 Internet Explorer 错误

    我添加了 Content Security Policy 它在 Chrome Firefox 和 Opera 上工作正常 但在 Internet Explorer 11 上我遇到此错误 此页面无法显示 add header Content
  • 多个图像处理程序调用导致 IE 在弹出窗口中挂起

    我们有一个ashx图像处理程序在过去几年中表现相当不错 但我们最近注意到一些奇怪的间歇性行为IE8 and IE9 我们有一个图库页面 作为图像 src 属性的一部分多次调用图像处理程序 该页面在弹出窗口中打开 该页面工作正常 但当窗口快速
  • 使用生成的匿名登录 ID 登录用户

    我正在编写一个 Android 应用程序 我正在尝试让用户匿名登录 这样他们就不必经历任何类型的注册过程 我将他们的匿名用户 ID 存储在共享首选项中 当应用程序打开时 我尝试根据该用户 ID 登录他们 我试图找出执行此操作的正确方法 因为
  • Centos htaccess 不被读取

    我正在开发一台新服务器 并通过 yum 安装了 Web Server 组 Php 和 mysql 工作正常 但我无法让 htaccess 工作 这是我的测试 htaccess 文件 WASD TEST CALL ERROR 我将其作为 ht
  • 简单的 IPython 示例在 sys.exit() 上引发异常

    我正在 IPython 中做一些非常简单的 PySide 和 PyQt 教程 一个教程只是创建一个带有一些滑块的窗口来演示插槽和信号 当我关闭正在运行的演示应用程序的窗口时 我看到以下错误 An exception has occurred
  • 访问在缓存块 Rmarkdown 文档中创建的全局环境对象

    我想运行 R 脚本来运行模拟并缓存 Rmarkdown 文档的结果 我正在使用 Rstudio 并尝试使用 knit HTML 创建 HTML 报告 这是一个简单的示例 r test global env cache TRUE print
  • 局部静态和局部变量的内存分配

    1 void main void int ptr1 ptr1 int malloc 2 void main void static int ptr2 ptr2 int malloc 我想问ptr1和ptr2的内存分配是如何完成的 The p
  • 如何在VBA中将自动生成的单选按钮设置为true?

    我正在创建一个 Excel 工作表 其中根据特定参数的值自动生成单选按钮 请参阅此以获得清晰的理解 复制一组单选按钮n次数 在哪里n是引用参数的行数 应根据条件检查此自动生成矩阵中的每个单选按钮 并且在与条件匹配的一组中 十二个单选按钮之一
  • CSS 中的 HTML 注释?

    我正在查看一些Amazon http en wikipedia org wiki Amazon com的 CSS 并注意到他们用 HTML 注释掉了 CSS 的一大块 我知道 Internet Explorer 具有 HTML 注释的条件格
  • “项目覆盖率设置为 0%” – JaCoCo 和 Sonar 在 Jenkins 中与 Ant

    我将工作从单个 Hudson 机器转移到了多从机 Jenkins 环境 现在 JaCoCo 覆盖范围不再起作用 工作 旧 哈德森2 0 1 詹金斯声纳插件 1 7 1 声纳2 1 2 破损 新 詹金斯 1 446 詹金斯声纳插件 1 7 2