【问题标题】:Get git SHA-1 of code merged by jenkins into maven获取jenkins合并到maven的代码的git SHA-1
【发布时间】:2012-08-10 23:25:00
【问题描述】:

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

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

【问题讨论】:

  • 我可以添加一个预构建步骤来运行一个 shell 并执行 cd $WORKSPACE; export GIT_MERGE_COMMIT=git rev-parse HEAD`` 这将 SHA-1 放入环境变量 GIT_MERGE_COMMIT 但那里没有似乎是得到这个into the maven goal的任何好方法

标签: git jenkins maven-3 buildnumber-maven-plugin


【解决方案1】:

Mojo's Buildnumber Maven Plugin 可以为您获取此信息。

项目站点尚未完全更新以反映它与 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 构建服务器上相同的副作用。

【讨论】:

  • 谢谢,这个插件让我得到我想要的哈希值。对于其他尝试此操作的人,请注意您需要在您的 pom 中配置 maven-scm-plugin,然后 buildnumber 插件才能获取哈希信息
【解决方案2】:

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

Direct link to the documentation.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-12
    • 2018-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多