Maven插件获取Git信息

很多时候虽然用了 Git 做了源代码的版本管理,但一般上线的版本都没会的Tag。最近线上项目出现了一个BUG,因为已经找不到线上代码对应的版本了,只好通过打包时间去找对应的版本然后修复BUG。如果要是每次打包都能把当前对应的版本信息放到 war/jar 包中就完美了,于是各种百度Maven 获取 Git 版本信息,终于找到了我想要的:

maven:读取程序版本号的三种方案
亲测可行,但你需要在pom.xml文件中加入scm配置信息:


    scm:git:[email protected]:gggg/test.git

这个方案感觉还是不够完美;然后我在SpringBoot的pom.xml看到了下面这个配置(1.5.1.RELEASE版本的SpringBoot):


	
		pl.project13.maven
		git-commit-id-plugin
		
			
				
					revision
				
			
		
		
			true
			yyyy-MM-dd'T'HH:mm:ssZ
			true
			${project.build.outputDirectory}/git.properties
		
	

git-commit-id-plugin 这个插件就可以帮助我们获取Git相关信息,SpringBoot已经帮我们配置好了,我们需要在自己项目pom.xml中引入一下就ok了。


  
    pl.project13.maven
    git-commit-id-plugin
  

然后通过Maven打包,就能看到classes目录下生成了一个git.properties文件;
Maven插件获取Git信息_第1张图片
Maven插件获取Git信息_第2张图片

然后我们可以通过 SpringBoot Actuator获取Git相关信息。我们先引入Actuator依赖:


  org.springframework.boot
  spring-boot-starter-actuator

然后需在application.yml文件中把访问限制关闭,不然是无法方法Actuator端点的。

management.security.enabled: false

最后我们启动服务,通过 /info 端点即可获取如下信息:
Maven插件获取Git信息_第3张图片
如果你想要查看更详细的信息可以在application.yml文件中加入以下配置:

management.info.git.mode: full

再次访问 /info 端点即可获取更加详细的信息:
Maven插件获取Git信息_第4张图片

因为SpringBoot集成了git-commit-id-plugin 插件,所以我们使用起来更加方便,但从这个插件的名字就可以看出它只支持Git,如果你们使用的是SVN就没办法用这个方式,只好用这个方案了maven:读取程序版本号的三种方案。

你可能感兴趣的:(Maven,Git,版本,Maven)