最新の安定バージョンについては、Spring Boot 3.4.1 を使用してください! |
アクチュエーターとの統合
ビルド情報の生成
Spring Boot Actuator の info
エンドポイントは、META-INF/build-info.properties
ファイルの存在下でビルドに関する情報を自動的に公開します。このファイルを生成するために、BuildInfo
(Javadoc) タスクが提供されています。タスクを使用する最も簡単な方法は、プラグインの DSL を使用することです。
Groovy
Kotlin
springBoot {
buildInfo()
}
springBoot {
buildInfo()
}
これにより、bootBuildInfo
という名前の BuildInfo
(Javadoc) タスクが構成され、存在する場合は、Java プラグインの classes
タスクがそれに依存するようになります。タスクの宛先ディレクトリは、メインソースセットのリソースの出力ディレクトリにある META-INF
(通常は build/resources/main
)です。
デフォルトでは、生成されたビルド情報はプロジェクトから取得されます。
プロパティ | デフォルト値 |
---|---|
|
|
| プロジェクトのグループ |
| プロジェクトの名前 |
| プロジェクトのバージョン |
| プロジェクトが構築されている時間 |
プロパティは、DSL を使用してカスタマイズできます。
Groovy
Kotlin
springBoot {
buildInfo {
properties {
artifact = 'example-app'
version = '1.2.3'
group = 'com.example'
name = 'Example application'
}
}
}
springBoot {
buildInfo {
properties {
artifact.set("example-app")
version.set("1.2.3")
group.set("com.example")
name.set("Example application")
}
}
}
生成されたビルド情報からデフォルトプロパティのいずれかを除外するには、その名前を除外に追加します。例: time
プロパティは次のように除外できます。
Groovy
Kotlin
springBoot {
buildInfo {
excludes = ['time']
}
}
springBoot {
buildInfo {
excludes.set(setOf("time"))
}
}
build.time
のデフォルト値は、プロジェクトがビルドされている瞬間です。これの副作用は、タスクが最新のものにならないことです。その結果、プロジェクトのテストを含むより多くのタスクを実行する必要があるため、ビルドに時間がかかります。もう 1 つの副作用は、タスクの出力が常に変化するため、ビルドを真に再現できないことです。ビルドのパフォーマンスまたは再現性を build.time
プロパティの精度よりも高く評価する場合は、前の例に示すように time
プロパティを除外します。
追加のプロパティをビルド情報に追加することもできます。
Groovy
Kotlin
springBoot {
buildInfo {
properties {
additional = [
'a': 'alpha',
'b': 'bravo'
]
}
}
}
springBoot {
buildInfo {
properties {
additional.set(mapOf(
"a" to "alpha",
"b" to "bravo"
))
}
}
}
追加のプロパティの値は、Provider
を使用して遅延計算できます。