【Jenkins】GradleでJaCoCoを導入する
GradleをビルドツールとするJavaソースに対して、Jenkinsの環境構築を行っています。その中でカバレッジツール JaCoCo の設定について行ったので、ここにメモを残します。
実施した時の環境は記載しますが、Jenkinsのインストールや基本操作はここでは触れないため、ご注意ください。また、Jenkins、プラグイン、ツールのバージョンによって表示が変わるかもしれませんが、そこはご了承ください。
環境
項目 バージョン Jenkins 2.332.1 Gradle 7.4.1 JaCoCo 0.8.5
Jacoco実行用のコードを追加する
ビルドを定義する設定ファイル build.gradle に以下を記載します。
plugins {
id 'java'
id 'jacoco' //追記
}
//以下をすべて追記
// testタスクの後にjacocoTestReportタスクを実施する
test {
finalizedBy jacocoTestReport // report is always generated after tests run
}
jacocoTestReport {
dependsOn test // tests are required to run before generating the report
}
// Jacocoのバージョンと出力ディレクトリの設定
jacoco {
toolVersion = "0.8.5"
reportsDir = file("$buildDir/jacoco")
}
// 検証のためのタスク
// ルールに違反した場合はタスクを失敗にする
jacocoTestCoverageVerification {
violationRules {
rule {
limit {
minimum = 1
}
}
}
}
「jacocoTestCoverageVerification」については以下を参照してください。今回は実行ができるまでは目標のため、ほかの設定は見れていませんが、いろいろあるようですね。
JacocoCoverageVerification - Gradle DSL Version 7.4.2
https://docs.gradle.org/current/dsl/org.gradle.testing.jacoco.tasks.JacocoCoverageVerification.html
JenkinsでJaCoCoの設定を行う
それではこれをJenkinsで実行するための設定を行います。その前に…
ジョブのワークスペースに実行結果を出力しておきたいため、一度上記の設定を行ってからビルド実行を行ってください。
JenkinsにJaCoCoプラグインをインストールしていない場合は、[Jenkinsの管理] > [プラグインの管理] > [利用可能タブ]の検索で「jacoco」と入力し、「JaCoCo plugin」を選択してからインストールしてください。
さてジョブの設定ですが、まず [ビルド後の処理追加]から [JaCoCoのカバレッジレポートを記録] を選択します。
あとは自分のソースに合わせて設定を変更します。いろいろ設定はありますが、ここでは変更しそうな3つを挙げます。そのまま使用可能であれば、変更せずにビルド実行してみてください。
項目 説明 Path to exec files 実行結果(カバレッジレポート)のパス Path to source directories ソースの位置 Inclusions 対象のファイル拡張子
これで設定は完了です。ビルド実行をしてみてください。以下の赤枠のように、カバレッジレポートがグラフで表示されれば成功です。
参考
- The JaCoCo Plugin
https://docs.gradle.org/current/userguide/jacoco_plugin.html