我正在使用 git 插件的“构建前合并”选项来构建一个 Maven 作业。我尝试在我的 maven pom 中使用 ${GIT_BRANCH} 和 ${GIT_COMMIT} 将提交信息写入我的构建工件,但这些变量设置为正在合并的分支及其提交 SHA-1。
有没有办法可以找到合并代码的 SHA-1 并将其传递给 maven?
我正在使用 git 插件的“构建前合并”选项来构建一个 Maven 作业。我尝试在我的 maven pom 中使用 ${GIT_BRANCH} 和 ${GIT_COMMIT} 将提交信息写入我的构建工件,但这些变量设置为正在合并的分支及其提交 SHA-1。
有没有办法可以找到合并代码的 SHA-1 并将其传递给 maven?
Mojo的Buildnumber Maven 插件可以为您获取此信息。
该项目站点尚未完全更新以反映它与 GIT 一起使用的事实。
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<version>1.1</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>create</goal>
</goals>
</execution>
</executions>
<configuration>
<doCheck>true</doCheck>
<doUpdate>true</doUpdate>
</configuration>
</plugin>
</plugins>
</build>
这会将${buildNumber}
属性设置为工作区的完整 GIT 哈希。
它还具有确保构建在开发人员机器或 CI 构建服务器上相同的副作用。
你也可以试试maven git commit id 插件。它将为您提供来自 Git 的大量信息,它支持精美的格式和许多不同的用例。