Jenkins 如何在远程服务器上生成jacoco.exec文件
我正在运行一个tomcat服务器,在它的Jenkins 如何在远程服务器上生成jacoco.exec文件,jenkins,sonarqube,jacoco,test-coverage,jacoco-maven-plugin,Jenkins,Sonarqube,Jacoco,Test Coverage,Jacoco Maven Plugin,我正在运行一个tomcat服务器,在它的catalina.sh中,我导出了JAVA\u OPTS,如下所示 JAVA_OPTS=“$JAVA_OPTS-javaagent:/opt/jacoco/lib/jacoagent.jar=destfile=/tmp/jacoco.exec,append=true,includes=*” 这将在同一台机器的/tmp文件夹中生成jacoco.exec文件。如何在远程机器(例如jenkins从机)上生成exec文件,以便通过sonar获得覆盖范围。要实现这一
catalina.sh
中,我导出了JAVA\u OPTS
,如下所示
JAVA_OPTS=“$JAVA_OPTS-javaagent:/opt/jacoco/lib/jacoagent.jar=destfile=/tmp/jacoco.exec,append=true,includes=*”
这将在同一台机器的
/tmp
文件夹中生成jacoco.exec文件。如何在远程机器(例如jenkins从机)上生成exec文件,以便通过sonar获得覆盖范围。要实现这一点,您需要确保多点:
/opt/jacoco/lib
如果没有,你可以
- [解决方案a]要么放在那里,那么基本配置是正确的
- [解决方案b]使用您的代码签入它,或通过maven加载它,等等-因此它是您的“实现”的一部分-例如,我们将它放在执行根目录中,因此我们只有
javaagent:jacocoagent.jar
destfile=/tmp/jacoco.exec
由于这是一条绝对路径,它将始终在那里生成输出,我不确定您是否可以在jenkins作业中从那里访问它
- [解决方案A]您将destfile设置为相对的,如
,这样您就可以在jenkins上的工作区中找到它/build/jacoco.exec
- [解决方案B]您只需不提供此字段,它将被命名为jacoco.exec,并将位于执行文件夹中