【问题标题】:How to make hudson aggregate results provided in build artifacts over several builds如何在多个构建中使构建工件中提供的 hudson 聚合结果
【发布时间】:2010-08-27 10:50:13
【问题描述】:

我有一个执行压力测试的 hudson 工作,通过一些 CPU 和 IO 密集型任务折磨虚拟机几个小时。构建脚本将一些有趣的结果写入几个文件,然后将这些文件存储为构建工件。例如,一个结果是执行某些操作所花费的时间。

我需要监控这些结果的发展。例如,我需要知道某些操作的时间何时突然增加。所以我需要将这些结果汇总到几个(全部?)构建中。理想的情况是我可以从 hudson 下载聚合数据。

我一直在考虑几种可能性来做到这一点,但它们似乎都相当复杂。那时我认为其他人可能已经遇到了这个问题。
也许已经有一些插件这样做了?

【问题讨论】:

    标签: hudson


    【解决方案1】:

    如果您可以编写脚本从日志文件中提取相关数字,则可以使用Plot Plugin 来可视化数据。我们将其用于简单的事情,例如跟踪构建工件的可执行大小。

    Plot 插件比@Tao 提到的Perf Plugin 更加手动,但它可能更容易集成,具体取决于Perf 插件需要多少数据。


    更新:Java 风格的属性文件(用作 Plot 插件的输入)只是文本文件中的简单名称-值对,例如:

    YVALUE=1234

    这是一个构建脚本,显示了一个(非常愚蠢的)示例:

    echo YVALUE=$RANDOM > buildtime.properties
    

    此示例为每个构建绘制一个随机数。

    【讨论】:

    • 嗯。 “绘图的数据是从 Java 属性文件中提取的......”这里没有 Java 知识,所以我不得不问什么可能很明显:什么是“Java 属性文件”?
    • @sbi,我在答案中添加了一个示例。
    【解决方案2】:

    我还没有亲自使用这个插件,但是如果你可以根据它的描述根据这个插件的格式生成xml文件,这可能适合你的需要。

    PerfPublisher Plugin

    【讨论】:

    • 我不知道如何从批处理脚本简单写入文件的数据中创建某种 XML 格式。
    • @sbi,如果你可以控制批处理脚本,你可以让它吐出你想要的任何格式(XML 只是带有一堆尖括号的文本)。如果你没有控制权,那么grep(或FIND)就是你的朋友。
    【解决方案3】:

    如何将结果创建为 JUnit 结果(XML 文件),以便 Hudson 记录结果并由 Hudson 汇总以用于不同的构建。

    【讨论】:

    • 我不知道如何从批处理脚本简单写入文件的数据中创建某种 XML 格式。
    猜你喜欢
    • 1970-01-01
    • 2020-10-26
    • 2012-12-14
    • 2012-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-07
    相关资源
    最近更新 更多