在多版本开发维护过程中,如果没有一个环境版本跟踪信息,一定会非常痛苦,因为你很难每次发布后去记录各个环境的当前版本信息,所以,如果能在构建物中自动加入版本信息就太棒了!

vue项目,我们可以在打包的构建物目录,通过命令手动生成一个版本文件,文件内容为git分支和tag名称,为了避免名称变化(被删除),我们还需要加入commitId信息,以锁定提交版本。

vue项目的构建物尚且可以直观的看到版本文件,但是时下流行的springboot项目,构建结果为jar包并不能很直观的看到版本信息,如果把版本信息放到生成的jar包名称上,会导致兼容性不强,因为已改名就丢失了。

所以最终的解决方案是通过引入一个git-commit的maven插件,执行package的时候在class目录下生成一个git.properties配置文件,该文件会详细记录本次构建基于的git版本分支信息,同时可以通过java读取该文件以合适的方式呈现!

参考1:https://blog.csdn.net/hchaoh/article/details/103907827 参考2:https://github.com/git-commit-id/git-commit-id-maven-plugin/blob/master/maven/docs/using-the-plugin.md