Jenkins Cobertura插件找不到coverage.xml文件

时间:2014-02-12 18:52:05

标签: maven jenkins cobertura

我在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

2 个答案:

答案 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报告的目的地目录..

或抓住一个示例文件并尝试在作业目录下输出..并查看它是如何工作的......