前言
我们平时在将开发好的代码发布于线上后,为了查看发布代码是否是最新的代码,可以在项目中使用gitVersion。
gitVersion介绍
GitVersion 是一个工具,用于自动化生成项目的版本号。它通过分析你的 Git 仓库的历史,特别是提交和标签(tags),来帮助管理版本号。GitVersion 遵循语义版本控制(Semantic Versioning,简称 SemVer)的原则,这意味着版本号能够传达关于代码变更的含义。
gitVersion有好几种使用方式,本文介绍其中一种。使用 Spring Boot Actuator 和 git-commit-id-plugin 展示 Git 信息,在应用启动时动态读取 Git 信息。
在Springboot项目中使用gitVersion
第一步
在pom文件中加入相关的配置
- 加入依赖
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
</dependencies>
- 配置 git-commit-id-plugin
<build>
<plugins>
<plugin>
<groupId>pl.project13.maven</groupId>
<artifactId>git-commit-id-plugin</artifactId>
<version>4.0.5</version> <!-- 使用最新版本 -->
<executions>
<execution>
<goals>
<goal>revision</goal>
</goals>
</execution>
</executions>
<configuration>
<generateGitPropertiesFile>true</generateGitPropertiesFile>
<generateGitPropertiesFilename>${project.build.outputDirectory}/git.properties</generateGitPropertiesFilename>
</configuration>
</plugin>
</plugins>
</build>
第二步
配置 Actuator /info 端点
在 application.properties 或 application.yml 文件中配置 Actuator 的 /info 端点,以便它能够显示 git.properties 文件中的内容
management.endpoints.web.exposure.include=info
management.info.git.mode=full
第三部
构建和运行你的应用
mvn clean package
打包好jar文件之后,我们使用java -jar GitVersion-0.0.1-SNAPSHOT.jar 来运行这个jar文件。
第四步
浏览器访问查看git提交记录
基础使用结束。
遇到的问题
在实验过程中出现了一个问题。
使用java -jar xxx.jar
时报 “xxxxx-0.0.1-SNAPSHOT.jar中没有主清单属性”。
大致也就是说他找不到运行的主类,就是那个XXXApplication.class,用来启动springboot项目的类。
发现是pom文件中的这里导致的。
这里<skip>
标签如果不被注释,它会让Maven跳过执行这个插件的任务。也就是不指定程序启动入口类,就会出现上面说的问题。