JenkinsとJacocoでカバレッジを取る
【前提条件】
[環境]
OS/ミドルウェア
Jenkins
Jenkinsプラグイン
- Jenkins JaCoCo plugin 1.0.12
- Jenkins Subversion Plug-in 1.50
- Maven Integration plugin 1.522
【参考サイト】
Jacoco+NetBeansでカバレッジを取ってJenkinsで記録 - きしだのはてな
Java7以降におけるMavenでのカバレッジレポート - 現場のためのソフトウェア開発プロセス - たかのり日記
【Maven】
[propertiesの設定]
まずはMavenのpropertiesの設定。
JDKのバージョンとエンコードをUTF-8にしてます。
<project> ... <properties> <jdk.version>1.7</jdk.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <site.encoding>UTF-8</site.encoding> <jacoco.include.package>jp.glory.*</jacoco.include.package> </properties> ... </project>
[pluginの設定]
pluginの設定です。
コンパイラの設定だったり、Jacocoの設定をしています。
今回はJava7で作ったソースなのでmaven-compiler-pluginの
Javaのバージョンは1.7を指定しています。
<project> ... <build> <pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>${jdk.version}</source> <target>${jdk.version}</target> </configuration> </plugin> </plugins> </pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.15</version> <configuration> <argLine>${jacocoArgs}</argLine> </configuration> </plugin> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <version>0.6.3.201306030806</version> <executions> <execution> <id>prepare-agent</id> <phase>test-compile</phase> <goals> <goal>prepare-agent</goal> </goals> <configuration> <propertyName>jacocoArgs</propertyName> <includes> <include>${jacoco.include.package}</include> </includes> </configuration> </execution> <execution> <id>report</id> <phase>prepare-package</phase> <goals> <goal>report</goal> </goals> </execution> </executions> </plugin> </plugins> </build> ... </project>