1

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

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

4

3 回答 3

0

我不久前解决了这个问题。我想我应该在这里分享这个,因为我最初问了这个问题。您可以在 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>
于 2013-05-28T08:25:13.237 回答
0

使用环境变量BUILD_ID获取最新构建的时间戳。您获得的时间戳将采用YYYY-MM-DD_hh-mm-ss格式。使用ZenTimestamp插件将其格式化为所需的格式。

或者

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

myjob = hudson.model.Hudson.instance.getItem("job_name") 
lastbuild = myitem.getLastBuild() 
println lastbuild.getTime()
于 2013-04-16T13:11:13.943 回答
0

尽管这有助于了解您到底想要实现什么,但据我所知,

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

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

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

于 2013-04-16T10:26:06.543 回答