如何在远程服务器上生成jacoco.exec文件

时间:2017-06-18 06:04:52

标签: jenkins sonarqube jacoco test-coverage jacoco-maven-plugin

我正在运行一个tomcat服务器并在其中catalina.sh我导出了JAVA_OPTS,如下所示。

JAVA_OPTS="$JAVA_OPTS -javaagent:/opt/jacoco/lib/jacocoagent.jar=destfile=/tmp/jacoco.exec,append=true,includes=*"

这会在/tmp文件夹中的同一台计算机上生成jacoco.exec文件。如何在远程机器上生成exec文件,例如jenkins slave的机器,以便我可以通过声纳获得覆盖。

1 个答案:

答案 0 :(得分:0)

为此,您需要确保多个点:

  1. 您是否在/opt/jacoco/lib的jenkins节点上提供了jacocoagent.jar?

    如果没有,你可以

    • [解决方案a]要么把它放在那里,那么基本配置是正确的,
    • [解决方案b]使用您的代码检查它,或通过maven等加载它 - 所以它是您的“implmentation”的一部分 - 例如。我们把它放在我们的执行根中,所以我们只有javaagent:jacocoagent.jar
  2. 您需要调整日志输出destfile=/tmp/jacoco.exec

    由于这是一个绝对路径,它总会在那里生成输出,我不确定你是否可以从那里访问它,在你的jenkins工作中

    • [解决方案A]你使dest文件相对像./build/jacoco.exec,而不是你在jenkins的工作空间中找到它
    • [解决方案B]您只是不提供此字段,而不是将其命名为jacoco.exec并且将位于执行文件夹中
  3. 您需要根据https://docs.sonarqube.org/display/PLUG/Usage+of+JaCoCo+with+Java+Plugin

  4. 提供此文件的路径

    我希望我能提供帮助:D