Gradle文件中的Spring Boot Actuator Info Endpoint版本

时间:2015-06-11 16:41:34

标签: gradle spring-boot

我希望Spring Boot(1.2.4.RELEASE)应用程序中的/info执行器端点返回build.gradle文件中指定的版本。

在我的build.gradle文件中,我有一行:

version = '0.0.1-SNAPSHOT'

我正在使用yaml配置文件。现在我在application.yml

中复制了版本
info:
    build:
        version: 0.0.1-SNAPSHOT  

这可能吗?

2 个答案:

答案 0 :(得分:3)

将以下内容添加到build.gradleFile中。不必创建InfoContributor类。

FILE_FLAG_FIRST_PIPE_INSTANCE

查询http://host:port/actuator/info,您会看到类似...的信息

plugins {
id 'org.springframework.boot' version '<version>'
}

springBoot {
buildInfo()
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-actuator'
    etc...
}

经过2.2.4.RELEASE测试

答案 1 :(得分:2)

这个确切的用例在Boot docs中详细说明:

http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#production-ready-application-info-automatic-expansion-gradle

所以在build.gradle中执行此操作

version = '0.0.1-SNAPSHOT'
processResources {
    expand(project.properties)
}

您的application.yml

info:
  build:
    version: ${version}
  1. 确保逃避任何弹簧占位符,以免与Gradle冲突。两者都使用$ {}作为替换标记。 $ {key}应该成为\ $ {key}。这会影响src / main / resources中的任何内容。

  2. 清理/构建和部署war / jar。不要从IDE运行它,否则占位符将不会被替换。