【Jenkins】GradleでJaCoCoを導入する

GradleをビルドツールとするJavaソースに対して、Jenkinsの環境構築を行っています。その中でカバレッジツール JaCoCo の設定について行ったので、ここにメモを残します。
実施した時の環境は記載しますが、Jenkinsのインストールや基本操作はここでは触れないため、ご注意ください。また、Jenkins、プラグイン、ツールのバージョンによって表示が変わるかもしれませんが、そこはご了承ください。

環境

項目バージョン
Jenkins2.332.1
Gradle7.4.1
JaCoCo0.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対象のファイル拡張子

これで設定は完了です。ビルド実行をしてみてください。以下の赤枠のように、カバレッジレポートがグラフで表示されれば成功です。

参考