1

我正在使用 git 插件的“构建前合并”选项来构建一个 Maven 作业。我尝试在我的 maven pom 中使用 ${GIT_BRANCH} 和 ${GIT_COMMIT} 将提交信息写入我的构建工件,但这些变量设置为正在合并的分支及其提交 SHA-1。

有没有办法可以找到合并代码的 SHA-1 并将其传递给 maven?

4

2 回答 2

1

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 构建服务器上相同的副作用。

于 2012-08-21T10:25:48.817 回答
0

你也可以试试maven git commit id 插件。它将为您提供来自 Git 的大量信息,它支持精美的格式和许多不同的用例。

直接链接到文档

于 2014-02-06T11:24:03.843 回答