我在Jenkins 1.502中使用jenkins-cobertura插件版本1.9.3,拥有一个多模块的Maven项目。我的cobertura.xml文件是在web-app模块中生成的,在Jenkins中浏览我的项目的工作空间时可以看到它。我尝试了多种不同的方法来设置后构建操作中的路径,以指向cobertura.xml文件,但插件仍然说找不到它。我得到了以下错误信息:“[Cobertura] No coverage results were found using the pattern 'app/web-app/target/site/cobertura/cobertura.xml' relative to 'C:\Jenkins\jobs\Dev - appName - trunk\workspace'”。我的web应用程序的maven pom.xml文件在pom.xml的“section”中如下设置了cobertura:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.5.1</version>
<configuration>
<formats>
<format>xml</format>
<format>html</format>
</formats>
<instrumentation>
<excludes>
<exclude>**/*Test.class</exclude>
<exclude>**/Mock*.class</exclude>
</excludes>
</instrumentation>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>cobertura</goal>
</goals>
</execution>
</executions>
</plugin>
在 Jenkins 中,我的 Maven 构建选项如下:
-Pqa clean cobertura:cobertura install
编辑 我找到了我的问题,我将文件命名为“cobertura.xml”,而不是“coverage.xml”,或者最好的方式是选择所有这些文件:
**/target/site/cobertura/*.xml