在使用Git源代码的maven项目中,每当我使用maven编译构建时,是否有可能读取git和commit number的最后一次提交。
我想使用该提交号来找到最后一次提交。
答案 0 :(得分:10)
这假设您要读取该信息,然后将其存储在属性文件中。 基于https://github.com/ktoso/maven-git-commit-id-plugin#using-the-plugin:
的pom.xml:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<!-- snip other stuff... -->
<build>
<!-- GIT COMMIT ID PLUGIN CONFIGURATION -->
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>**/*.properties</include>
</includes>
</resource>
</resources>
<plugins>
<plugin>
<groupId>pl.project13.maven</groupId>
<artifactId>git-commit-id-plugin</artifactId>
<version>2.2.1</version>
<executions>
<execution>
<goals>
<goal>revision</goal>
</goals>
</execution>
</executions>
<configuration>
<commitIdGenerationMode>flat</commitIdGenerationMode>
<gitDescribe>
<skip>true</skip>
</gitDescribe>
</configuration>
</plugin>
<!-- END OF GIT COMMIT ID PLUGIN CONFIGURATION -->
<!-- other plugins -->
</plugins>
</build>
</project>
/ src / main / resources中的git.properties:
git.commit.id=${git.commit.id}
答案 1 :(得分:3)
您可以使用maven-buildnumber-plugin,它在其他一些SCM系统中支持Git。
除了获取修订版/提交ID之外,它还具有与生成唯一版本号相关的附加功能:找出SCM分支,添加时间戳,使用短哈希等。
答案 2 :(得分:0)
我尝试与Spring Boot一起使用,而行git.commit.id=${git.commit.id}
无效。我不得不使用git.commit.id=@git.commit.id@