如何使用maven命令检查成功构建的时间

时间:2016-01-06 11:40:29

标签: java maven

在我们的日常工作中,我们正在检查大量项目并尝试使用mvn clean install进行构建,以验证构建过程中的失败。

有时我们会错过已成功完成的构建数量以及尚未完成的构建数量。如果我能找到一个用于获取最后成功的构建细节的命令,就像它完成时那样对我们非常有用。这将有助于我的大部分时间。

我需要的是一个命令,它应该告诉我工作空间的最后成功构建时间。

3 个答案:

答案 0 :(得分:4)

好像你重新发明Continuous Integration.免费的开源工具是Jenkins。他们有一些introduction on the website

简而言之:您有一台服务器定期(或在每次提交后)检查源,构建它们,运行测试等,以查看它们是否正常工作。

答案 1 :(得分:1)

如果您使用的是linux,则以下命令行会在构建结束时生成时间戳:

mvn clean install | grep '\[INFO\] Finished at' | sed 's/^\[INFO\] Finished at: //g'

输出如下:

2016-01-06T13:46:14+01:00

同样的技巧也可用于总时间,例如:

mvn clean install | grep '\[INFO\] Total time' | sed 's/^\[INFO\] Total time: //g'

此输出如下:

0.060 s

这是你在找什么?

答案 2 :(得分:1)

我的第二个@user建议:这是一个持续集成服务器的工作,Jenkins可以让你快速开始。即使你不想要所有的花里胡哨,你至少可以用它来跟踪成功和失败。不要被新概念吓倒:它应该像从Jenkins下载站点下载单个WAR文件,启动它,然后从浏览器连接并配置最小作业一样简单。

但是如果您有其他遗留要求且无法使用Jenkins,我建议使用" gmaven"插件运行一个groovy脚本,允许您在作业结束时运行自定义逻辑。例如,您可以使用它将时间戳和状态代码写入本地文件夹中的文件。

当然,这会让你前进,但它不会取代真正的CI设置。我提供的建议可以让您跟踪一些预定义的构建命令集的成功(我们必须将gmaven绑定到特定的生命周期阶段)。该提案还将无法跟踪工作失败。

另一个建议是编写一个自定义shell脚本(Bash或Windows,具体取决于您的操作系统),它将运行实际的maven命令,将所有命令行参数传递给它,然后在最后检查返回状态maven,并将成功/失败状态(和时间戳)写入本地日志文件。这将是脚本区域中要问的问题,实际的解决方案将取决于实际的操作系统。