我在Jenkins 1.502中有一个带有jenkins-cobertura插件版本1.9.3的多模块maven项目。我的cobertura.xml文件是在web-app模块中生成的,当我在Jenkins中浏览项目的工作区时,我可以看到它。我尝试了多种不同的方法来处理post build动作中的路径设置以指向cobertura.xml文件,但插件一直说它无法找到它。我收到错误:
[Cobertura]使用“app / web-app / target / site / cobertura / cobertura.xml”模式相对于'C:\ Jenkins \ jobs \ Dev - appName - trunk \ workspace'<找不到覆盖结果/ p>
我的web应用程序的maven pom.xml在pom.xml的部分设置了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
答案 0 :(得分:7)
将以下行添加到您的应用程序目标(在jenkins中配置应用程序部分):
cobertura:cobertura -Dcobertura.report.format=xml
pom.xml 更改:
<reporting>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.6</version>
<configuration>
<formats>
<format>html</format>
<format>xml</format>
</formats>
</configuration>
</plugin>
</plugins>
</reporting>
答案 1 :(得分:2)
Cobertura的输出为xml或html ..
<formats>
<format>xml</format>
</formats>
并确保结果(coverage.xml)在此目录中可用,$ JENKINS_HOME / workspace / .. job ../ app / web-app / target / site / cobertura / coverage.xml file ..
或您检查cobertura报告的目的地目录..
或抓住一个示例文件并尝试在作业目录下输出..并查看它是如何工作的......