跳到主要内容
版本:3.5.10

与 Actuator 集成

QWen Max 中英对照 Integrating with Actuator

生成构建信息

Spring Boot Actuator 的 info 端点在检测到 META-INF/build-info.properties 文件时,会自动发布有关构建的信息。提供了一个 BuildInfo 任务用于生成该文件。使用该任务最简单的方式是通过插件的 DSL:

springBoot {
buildInfo()
}

这将配置一个名为 bootBuildInfoBuildInfo 任务,并且如果存在的话,会使 Java 插件的 classes 任务依赖于它。该任务的目标目录将是主源集资源输出目录(通常为 build/resources/main)中的 META-INF

默认情况下,生成的构建信息源自项目:

属性默认值
build.artifactbootJarbootWar 任务的基名称
build.group项目的 group
build.name项目的名称
build.version项目的版本
build.time项目构建时的时间

可以使用 DSL 自定义这些属性:

springBoot {
buildInfo {
properties {
artifact = 'example-app'
version = '1.2.3'
group = 'com.example'
name = 'Example application'
}
}
}

要从生成的构建信息中排除任何默认属性,请将其名称添加到 excludes 中。例如,可以按如下方式排除 time 属性:

springBoot {
buildInfo {
excludes = ['time']
}
}

build.time 的默认值是项目构建时的即时时间。这样做的一个副作用是该任务永远不会处于最新状态(up-to-date)。因此,构建将花费更长时间,因为需要执行更多的任务,包括项目的测试。另一个副作用是该任务的输出始终会发生变化,因此构建结果并非真正可重复。如果你更看重构建性能或可重复性,而不是 build.time 属性的精确性,可以像前面示例中那样排除 time 属性。

还可以向构建信息中添加额外的属性:

springBoot {
buildInfo {
properties {
additional = [
'a': 'alpha',
'b': 'bravo'
]
}
}
}

可以通过使用 Provider 来惰性计算一个附加属性的值。