【问题标题】:How to get the last build date in Hudson [closed]如何获得哈德逊的最后构建日期[关闭]
【发布时间】:2013-04-16 10:06:09
【问题描述】:

如何在 Maven 上下文中从 Hudson 获取最后构建日期?我需要将该日期传递回 Maven 以生成 *changelog* 报告。有更好的方法来实现吗?

我正在使用 Hudson 2.2.1 和 Maven 3.x

【问题讨论】:

    标签: maven jenkins hudson


    【解决方案1】:

    虽然这将有助于了解您究竟想要实现什么,但据我所知,

    您不能维护一个带有上次构建时间戳的属性文件吗?时间戳将随着每次构建而更新。

    您可以从此属性文件中读取上次构建时间,并在您使用的任何 maven 插件中使用它。

    您可以选择将属性文件签入回 SCM,以确保最后构建日期在所有单独的计算机上都反映为相同。如果您只需要在 Hudson 机器上使用此文件,则无需将此文件放入 SCM 即可。

    【讨论】:

      【解决方案2】:

      使用环境变量 BUILD_ID 获取最新构建的时间戳。 您获得的时间戳将采用@​​987654323@ 格式。使用ZenTimestamp插件将其格式化为所需的格式。

      安装Hudson Groovy builder插件并执行groovy脚本获取最后的构建信息

      myjob = hudson.model.Hudson.instance.getItem("job_name") 
      lastbuild = myitem.getLastBuild() 
      println lastbuild.getTime()
      

      【讨论】:

      • 我认为这是不可能的,因为 BUILD_ID 将是当前的构建 ID,而不是最后一个。我正在寻找最后的构建日期。
      • 使用 maven-changes 插件并将 hudson 生成的 changelog.xml 作为 xmlpath 属性是否是个好主意?
      • 我对 maven 不太了解。
      【解决方案3】:

      我不久前解决了这个问题。我想我应该在这里分享这个,因为我最初问了这个问题。您可以在 Hudson 中进行 REST 调用,它会为您提供最后一次成功的构建。 rest 调用和 xpath 的混合,您将获得 YYYY-MM-DD_hh-mm-ss 格式的最后构建日期。

      Maven Antrun 任务:

      <loadresource property="build_start_date">
           <url url="${JOB_URL}/lastSuccessfulBuild/api/xml?xpath=/*/id/text()"/>
      </loadresource>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-05-17
        • 2011-06-25
        • 1970-01-01
        • 1970-01-01
        • 2011-11-18
        • 1970-01-01
        相关资源
        最近更新 更多