一、背景
项目中对外提供 JAR 包,由于项目比较多且发版频繁,运维同学使用 Jenkins 打包时偶尔会贴错版本分支,而 JAR 包又无法很直观的获取版本信息,就会出现一个把一个错误的包提供给客户的现象,影响相当严重!
二、目标
将版本分支打进 JAR包的某个文件里,可以通过工具打开或解压 JAR 包,通过该文件直观的看到版本信息。
三、实现
1、添加一个资源文件
我这边是在 resources 目录下新建了一个 git.properties 文件:
# package version
branch = ${git.branch}
# commit info
commitId = ${git.commit.id}
commitName = ${git.commit.user.name}
commitMessage = ${git.commit.message.full}
commitTime = ${git.commit.time}
# build info
buildName = ${git.build.user.name}
buildTime = ${git.build.time}
2、添加打包插件
需要使用打包插件 git-commit-id-plugin,我使用的是项目构建工具是 maven,pom.xml 配置如下: