1、maven新增插件
注意:低版本用jenkins打出来的branch有问题,后面换成高版本生效。
xml
<!--打包jar 与git commit 关联插件-->
<plugin>
<groupId>pl.project13.maven</groupId>
<artifactId>git-commit-id-plugin</artifactId>
<version>4.9.10</version>
<executions>
<execution>
<id>get-the-git-infos</id>
<!-- 默认绑定阶段initialize -->
<phase>initialize</phase>
<goals>
<!-- 目标:revision -->
<goal>revision</goal>
</goals>
</execution>
</executions>
<configuration>
<!-- 检查的仓库根目录,${project.basedir}:项目根目录,即包含pom.xml文件的目录 -->
<dotGitDirectory>${project.basedir}/.git</dotGitDirectory>
<!-- false:扫描路径时不打印更多信息,默认值false,可以不配置 -->
<verbose>false</verbose>
<!-- 定义插件中所有时间格式,默认值:yyyy-MM-dd'T'HH:mm:ssZ -->
<dateFormat>yyyy-MM-dd HH:mm:ss</dateFormat>
<!-- git属性文件中各属性前缀,默认值git,可以不配置 -->
<prefix>git</prefix>
<!-- 生成git属性文件,默认false:不生成 -->
<generateGitPropertiesFile>true</generateGitPropertiesFile>
<!-- 生成git属性文件路径及文件名,默认${project.build.outputDirectory}/git.properties -->
<generateGitPropertiesFilename>${project.build.outputDirectory}/git.properties</generateGitPropertiesFilename>
<!-- 生成git属性文件格式,默认值properties -->
<format>json</format>
<!-- 配置git-describe命令 -->
<gitDescribe>
<skip>false</skip>
<always>false</always>
<dirty>-dirty</dirty>
</gitDescribe>
</configuration>
</plugin>
2、新增查询版本接口:
java
/**
* 版本信息接口
*/
@Api(tags = "VersionController", description = "version")
@Slf4j
@RestController
@RequestMapping("/version")
public class VersionController {
/**
* 读取git.properties版本信息文件
* @return
*/
@GetMapping("/getGitInfo")
@NoAuthAspect
public Object getGitInfo() {
InputStream inputStream = null;
try {
ClassLoader classLoader = getClass().getClassLoader();
inputStream = classLoader.getResourceAsStream("git.properties");
// 读取文件内容,自定义一个方法实现即可
String versionJson = IoUtil.read(inputStream, "utf-8");
JSONObject jsonObject = JSON.parseObject(versionJson);
return jsonObject;
} catch (Exception e) {
log.error("get git version info fail", e);
} finally {
IoUtil.close(inputStream);
}
return new JSONObject();
}
}