提问人:sbi 提问时间:8/27/2010 更新时间:8/28/2010 访问量:486
如何使 hudson 聚合在多个构建的构建工件中提供的结果
How to make hudson aggregate results provided in build artifacts over several builds
问:
我有一份执行压力测试的 hudson 工作,通过一些 CPU 和 IO 密集型任务折磨虚拟机几个小时。生成脚本将一些有趣的结果写入多个文件,然后存储为生成工件。例如,一个结果是执行某些操作所花费的时间。
我需要监测这些结果的发展。例如,我需要知道某些操作的时间何时突然增加。因此,我需要将这些结果汇总到几个(所有?)构建中。理想的情况是,如果我可以从哈德逊下载汇总数据。
我一直在考虑几种可能性,但它们看起来都很复杂。那时我以为其他人可能已经遇到了这个问题。
也许已经有一些插件这样做了?
答:
0赞
khmarbaise
8/27/2010
#1
将结果创建为 JUnit 结果(XML 文件)怎么样,这样 Hudson 就可以记录结果,并由 Hudson 聚合用于不同的构建。
评论
0赞
sbi
8/28/2010
我不知道如何从批处理脚本简单地写入文件的数据创建某种XML格式。
1赞
Tao
8/27/2010
#2
我还没有使用过这个插件,但如果你可以根据这个插件的描述,根据它的格式生成xml文件,这可能符合你的需要。
评论
0赞
sbi
8/28/2010
我不知道如何从批处理脚本简单地写入文件的数据创建某种XML格式。
0赞
Dave Bacher
8/28/2010
@sbi,如果你可以控制批处理脚本,你可以让它吐出任何你想要的格式(XML只是带有一堆尖括号的文本)。如果你没有控制权,那么(或)就是你的朋友。grep
FIND
2赞
Dave Bacher
8/28/2010
#3
如果可以编写脚本从日志文件中提取相关数字,则可以使用 Plot 插件来可视化数据。我们将其用于简单的事情,例如跟踪构建工件的可执行文件大小。
Plot 插件比 @Tao 提到的 Perf 插件更手动,但根据 Perf 插件需要多少数据,它可能更容易集成。
更新:Java 样式的属性文件(用作 Plot 插件的输入)只是文本文件中的简单名称-值对,例如:
YVALUE=1234
下面是一个构建脚本,它显示了一个(非常愚蠢的)示例:
echo YVALUE=$RANDOM > buildtime.properties
此示例在每次生成时绘制一个随机数。
评论
0赞
sbi
8/28/2010
“绘图的数据是从 Java 属性文件中提取的......”这里没有 Java 知识,所以我不得不问一个显而易见的问题:什么是“Java 属性文件”?
1赞
Dave Bacher
8/28/2010
@sbi,我在答案中添加了一个示例。
下一个:将文件名通配符转换为正则表达式
评论