参考:
https://blog.51cto.com/u_15891990/5908709
https://gitee.com/moxi159753/LearningNotes/blob/master/SpringBoot/Eureka%E7%AE%A1%E7%90%86%E9%A1%B5%E9%9D%A2%E9%85%8D%E7%BD%AE%E6%8E%A5%E5%8F%A3%E8%BF%94%E5%9B%9Egit%E4%BF%A1%E6%81%AF/README.md
https://blog.csdn.net/qq_53445252/article/details/127807735
前言
这阵子在弄监控页面,我点击eureka里面的地址
发现进去的页面没有 任何内容显示,后面想想可能是没有什么东西没有配置而引起的
通过查阅资料发现,微服务若是用git管理,当前微服务部署的git的版本信息是不可或缺的信息,spring boot admin中通过/actuator/info接口返回git基本信息。该接口若要返回git信息,首先需要引入Actuator依赖
<!-- 使用Actuator的/info端点输出Git版本 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
同时需要添加git-commit-id-plugin插件
<plugin>
<groupId>pl.project13.maven</groupId>
<artifactId>git-commit-id-plugin</artifactId>
<version>2.2.5</version>
<executions>
<execution>
<id>get-the-git-infos</id>
<!-- 默认绑定阶段initialize -->
<phase>initialize</phase>
<goals>
<!-- 目标:revision -->
<goal>revision</goal>
</goals>
</execution>
</executions>
<configuration>
<!-- 定义插件中所有时间格式,默认值:yyyy-MM-dd’T’HH:mm:ssZ -->
<dateFormat>yyyy-MM-dd HH:mm:ss</dateFormat>
<!-- 生成git属性文件,默认false:不生成 -->
<generateGitPropertiesFile>true</generateGitPropertiesFile>
<!-- 生成git属性文件路径及文件名,默认${project.build.outputDirectory}/git.properties -->
<generateGitPropertiesFilename>${project.build.outputDirectory}/git.properties</generateGitPropertiesFilename>
<!-- 生成git属性文件格式,默认值properties -->
<!-- <format>json</format> -->
<!-- git.properties包含的内容-->
<includeOnlyProperties>
<!-- 所在分支 -->
<includeOnlyProperty>^git.branch$</includeOnlyProperty>
<includeOnlyProperty>^git.build.time$</includeOnlyProperty>
<includeOnlyProperty>^git.commit.time$</includeOnlyProperty>
<!-- commit-id -->
<includeOnlyProperty>^git.commit.id.full$</includeOnlyProperty>
<includeOnlyProperty>^git.build.version$</includeOnlyProperty>
<!-- 所属分分支名 -->
<includeOnlyProperty>^git.closest.tag.name$</includeOnlyProperty>
</includeOnlyProperties>
</configuration>
</plugin>
注意,这里不要转成json,不然Actuator解析不了。
添加完成后,我们查看IDEA的Maven,能够发现多出了一个 git-commit-id:revision
我们点击后,在target/classes
目录下,我们可以发现产生了一个git.properties
配置信息,或者进行mvn clean package打包,也会出现配置信息:
里面的内容就是当前项目的git信息:
#Generated by Git-Commit-Id-Plugin
#Tue Jan 07 21:25:46 CST 2020
git.build.user.email=xzx19950624@qq.com
git.build.host=DESKTOP-DIA5I1I
git.dirty=true
git.remote.origin.url=https\://github.com/moxi624/mogu_blog_v2.git
git.closest.tag.name=
git.commit.id.describe-short=6f1ef9e-dirty
git.commit.user.email=xzx19950624@qq.com
git.commit.time=2020-01-07T19\:58\:26+0800
git.commit.message.full=update banner
git.build.version=0.0.1-SNAPSHOT
git.commit.message.short=update banner
git.commit.id.abbrev=6f1ef9e
git.branch=dev
git.build.user.name=陌溪_
git.closest.tag.commit.count=
git.commit.id.describe=6f1ef9e-dirty
git.commit.id=6f1ef9e48bbd0f3cb825b7934152dde21d821456
git.tags=
git.build.time=2020-01-07T21\:25\:46+0800
git.commit.user.name=陌溪_
然后启动eureka页面,在点击刚刚的a标签,发现能够成功获取到git信息了
如果没有,可能要配置application.yaml:
management:
info:
git:
mode: full
endpoints:
web:
exposure:
include: "*"
server:
port: 7001