一款小巧實用的git-commit-id-plugin maven插件推薦

原創不易,請多多支持!對Java技術感興趣的童鞋請關注我,後續技術分享更精彩。 

背景

後臺上線應用是否啟動成功,我們可以用healthcheck請求檢查。但上線的代碼是否生效,我們該如何確認呢?有人可能會說查看應用日誌。是的,這是一種方法,卻不是一種好的方式。這種方式需保證:每次上線的代碼都要打印不同的日誌,以示差異。而且查日誌過程很繁瑣。這裡推薦一款git-commit-id-plugin maven插件,很好的解決了該場景問題。

實現思路

git-commit-id-plugin以maven插件方式,集成到項目pom文件中。在項目打包時,通過git指令,獲取當前打包項目分支git元數據,並保存這些信息到打包target目錄下的git.properties文件中。再配合spring-boot-starter-actuator。應用啟動完成,通過http://{domain}/actuator/info接口即可查看最新代碼git信息,從而校驗新版本是否上線成功。

集成

添加maven插件

pom.xml文件中添加以下插件信息

<plugin>

<groupid>pl.project13.maven/<groupid>
<artifactid>git-commit-id-plugin/<artifactid>
<version>3.0.1/<version>
<executions>

<execution>
get-the-git-infos
<goals>
<goal>revision/<goal>
/<goals>
<phase>initialize/<phase>
/<execution>
/<executions>
<configuration>
<generategitpropertiesfile>true/<generategitpropertiesfile>
<generategitpropertiesfilename>${project.build.outputDirectory}/git.properties/<generategitpropertiesfilename>
<includeonlyproperties>

<includeonlyproperty>^git.commit.*$/<includeonlyproperty>
<includeonlyproperty>^git.build.*$/<includeonlyproperty>
<includeonlyproperty>^git.branch$/<includeonlyproperty>
<includeonlyproperty>^git.tags$/<includeonlyproperty>
/<includeonlyproperties>
<commitidgenerationmode>full/<commitidgenerationmode>
/<configuration>
/<plugin>

添加spring-boot-starter-actuator依賴

<dependency>
<groupid>org.springframework.boot/<groupid>
<artifactid>spring-boot-starter-actuator/<artifactid>
/<dependency>

springboot yml配置添加以下屬性

#spring actuator setting
#http://{domain}/actuator/info
management:
info: # 打開info actuator/info請求訪問權限
defaults:
enabled: true
git: # https://github.com/git-commit-id/maven-git-commit-id-plugin
mode: full

maven項目打包後,target生成git.properties文件,文件記錄git元數據信息如下。

一款小巧實用的git-commit-id-plugin maven插件推薦

驗證

啟動項目,瀏覽器訪問http://{ip:port}/actuator/info查看版本信息。

小結

本文通過以下步驟,介紹了git-commit-id-plugin插件從瞭解到使用的過程。簡單集成,立馬見效。程序之美無過如此。

  • git-commit-id-plugin maven插件解決的問題場景。
  • git-commit-id-plugin的實現思路。
  • 項目集成示例。


分享到:


相關文章: