在Actuator/info 节点上怎么显示maven和git相关的值
1. 准备一个spring-boot 的项目,并且暴露Actuator/info的节点
pom.xml
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency>
java code
@SpringBootApplication()
public class TestApp {public static void main(String[] args) {SpringApplication.run(TestApp.class, args);}
}
application.properties
management.info.env.enabled=true
2. 显示Maven相关的值
在application.properties文件里,加入下面key-value属性
info.app.name=@project.artifactId@
info.app.description=@project.description@
info.app.version=@project.version@
info.app.encoding=@project.build.sourceEncoding@
info.app.java.source=@java.version@
info.app.java.target=@java.version@
management.info.env.enabled=true
如果您不使用starter parent,则需要在pom.xml的<build/>元素中包含以下元素
<resources><resource><directory>src/main/resources</directory><filtering>true</filtering></resource>
</resources>
执行maven clean compile -DskipTests命令后,你会发现application.properties里定义的maven相关的占位符已经被替换了。
结果如下:
info.app.name=test_project
info.app.description=Parent pom providing dependency and plugin management for applications built with Maven
info.app.version=1.0-SNAPSHOT
info.app.encoding=UTF-8
info.app.java.source=1.8.0_321
info.app.java.target=1.8.0_321
启动spring-boot的项目,访问actuator/info节点,就可以看到下面的信息了。
{"app" : {"name" : "test_project","description" : "Parent pom providing dependency and plugin management for applications built with Maven","version" : "1.0-SNAPSHOT","encoding" : "UTF-8","java" : {"source" : "1.8.0_321","target" : "1.8.0_321"}},
}
3. 显示git 相关的值
<plugin><groupId>pl.project13.maven</groupId><artifactId>git-commit-id-plugin</artifactId><version>2.1.4</version></plugin>
执行maven clean install-DskipTests 后,你会发现在你的classes目录下面有个git.properties文件生成。
git.branch=dev
git.commit.id=xxx
git.commit.user.name=xxx
......
启动spring-boot的项目,访问actuator/info节点,就可以看到下面的信息了。
{"git" : {"commit" : {"time" : "2023-04-06T12:16:17Z","id" : "e3dd1233"},"branch" : "dev"}
}
一起显示maven和git 的信息
{"app" : {"name" : "test_project","description" : "Parent pom providing dependency and plugin management for applications built with Maven","version" : "1.0-SNAPSHOT","encoding" : "UTF-8","java" : {"source" : "1.8.0_321","target" : "1.8.0_321"}},"git" : {"commit" : {"time" : "2023-04-06T12:16:17Z","id" : "e3dd1233"},"branch" : "dev"}
}