您现在的位置是:网站首页> 编程资料编程资料
git验证线上的版本是否符合预期_相关技巧_
2023-05-25
238人已围观
简介 git验证线上的版本是否符合预期_相关技巧_
正文
git-commit-id-maven-plugin插件,会根据当前分支的版本号生成一个git.properties文件。
git.properties内容形如下
git.branch=master git.build.host=xxx git.build.time=2022-03-01T20\:33\:43+0800 git.build.user.email=aaa@qq.com git.build.user.name=aaa git.build.version=1.0-SNAPSHOT git.closest.tag.commit.count= git.closest.tag.name= git.commit.id=6dab4430864e3e4a9fc1ba6f6b93f278100d4e2e git.commit.id.abbrev=6dab443 git.commit.id.describe=6dab443-dirty git.commit.id.describe-short=6dab443-dirty git.commit.message.full=Add README.md git.commit.message.short=Add README.md git.commit.time=2022-03-01T16\:24\:48+0800 git.commit.user.email=aa@example git.commit.user.name=aa git.dirty=true git.remote.origin.url=http://hello git.tags= git.total.commit.count=1
如何使用
本文以springboot项目为例,springboot项目的parent pom里面已经内嵌git-commit-id-maven-plugin插件管理依赖。如下
pl.project13.maven git-commit-id-plugin revision true yyyy-MM-dd'T'HH:mm:ssZ true ${project.build.outputDirectory}/git.properties
项目中做如下配置
1、在我们的项目中显式引入git-commit-id-plugin插件
pl.project13.maven git-commit-id-plugin
2、通过和actuator集成,显示git信息
a、在项目中引入actuator GAV
org.springframework.boot spring-boot-starter-actuator
b、浏览器访问http://ip : port/actuator/info

如果觉得上面的信息不够多,我们可以通过自定义端点或者自己写一个controller把信息展示出来
详细的信息可以通过org.springframework.boot.info.GitProperties展示
本示例以自定义端点为例。示例如下
@Endpoint(id = "git") @Component public class GitEndpoint { @Autowired(required = false) private GitProperties gitProperties; @ReadOperation public Object info() throws IOException { if(ObjectUtils.isEmpty(gitProperties)){ return new HashMap<>(); } return gitProperties; } }在application.yml中开放自定义端点
management: endpoints: web: exposure: include: 'git'
浏览器访问http://ip : port/actuator/git

如果仍然觉得上述的信息还是不够详细,那可以通过解析git.properties文件显示。示例
@Endpoint(id = "gitDetail") @Slf4j @Component public class GitDetailEndPoint { @ReadOperation public Object detail() throws IOException { Properties props = null; try { props = PropertiesLoaderUtils.loadAllProperties("git.properties"); return props; } catch (IOException e) { log.error("git.properties not found"); } finally { } return new HashMap<>(); } }在application.yml中开放自定义端点
management: endpoints: web: exposure: include: 'gitDetail'
浏览器访问http://ip:port/actuator/gitDetail

总结
git-commit-id-maven-plugin在分布式或者微服务项目中,用来验证项目版本还是挺有用的,推荐大家有机会用一下
以上就是git验证线上的版本是否符合预期的详细内容,更多关于git验证线上版本的资料请关注其它相关文章!
相关内容
- Sublime中View in Browser功能不生效问题及解决_相关技巧_
- 防止删库跑路及高级代码投毒技巧_相关技巧_
- 基于域名的方式访问Istio服务网格中的多个应用程序的方法详解_相关技巧_
- 在VScode中配置ROS环境的详细过程_相关技巧_
- 使用TeXLive2022和VSCode安装配置步骤(LaTeX写论文)_相关技巧_
- Visual Studio自定义项目模版_相关技巧_
- ffmpeg网页视频流m3u8 ts实现视频下载_相关技巧_
- 如何通过memberlist库实现gossip管理集群及集群数据交互问题_相关技巧_
- 浅析getway网关_相关技巧_
- 接口数据安全保证的10种方式_相关技巧_
