我已将JaCoCo
插件添加到我的Maven
插件中,并可在本地成功生成覆盖率报告。
但是,在我提交更改的pom.xml
和Jenkins
尝试构建Maven
项目(由多个模块组成)之后,构建失败,输出如下:< / p>
[HUDSON] Collecting dependencies info
[HUDSON] Collecting dependencies info
[HUDSON] Collecting dependencies info
[HUDSON] Collecting dependencies info
[JENKINS] Recording test results
[WARNING] Failed to getClass for org.jacoco.maven.AgentMojo
[JENKINS] Archiving /var/lib/jenkins/jobs/xy xyz1
[JENKINS] Archiving /var/lib/jenkins/jobs/xy xyz2
[JENKINS] Archiving /var/lib/jenkins/jobs/xy xyz3
[JENKINS] Archiving /var/lib/jenkins/jobs/xy xyz4
channel stopped
Finished: FAILURE
我得到的唯一警告是Failed to getClass for org.jacoco.maven.AgentMojo
所以我认为这可能导致构建失败。
首先我认为这是因为代理设置,但我在settings.xml
版本中添加了相同的Jenkins
,因为我在本地使用(使用该插件已成功使用)。
此外,我还试图在几个地方查找此特定错误,但没有运气。
还尝试更改pom执行,但由于它在本地工作,我认为没有理由更改以下Maven pom.xml设置:
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>post-unit-test</id>
<phase>test</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
为什么Jenkins不会记录比简单[WARNING]
行更多的错误?
Jenkins
在本地成功运行getClass
时,Maven
无法JaCoCo
的原因是什么?
我可以在不将maven插件添加到xml的情况下获得Jenkins
覆盖吗? (根据我发现,为了开始使用Task<void>
插件,需要添加它)
答案 0 :(得分:0)
我正在使用Jenkins JaCoCo插件来做到这一点。您只需要指定java src文件,.class文件和测试类的位置。该插件还允许从Jenkins界面访问html报告输出。
答案 1 :(得分:0)
对我来说可疑的一点是,您已将report
目标附加到test
阶段,这似乎是错误的:有关测试覆盖率的报告无法在测试已执行,因此您必须选择下一阶段的其他阶段。例如,verify
阶段(report
目标的默认阶段)。