2

我们有定期构建 sqlite 数据库的软件(在 Jenkins 之外)。我想运行一些测试,看看当前构建中的任何表是否明显小于以前构建中的表。我认为我只需要将结果序列化到磁盘(或数据库)并手动检查差异。Jenkins 中是否有一些更正式的框架来处理这种情况?

4

2 回答 2

3

最简单的方法是添加一个由 Jenkins 执行的简单脚本,或者在您的构建过程中嵌入一个脚本,以导出稍后可供Measurement Plots Plugin使用的文件。该插件可以使用您的数据解析 XML 文件,保留多个构建的历史记录并为您绘制图表。尽管它需要一些手动工作,但它是此类事情的最佳选择。

于 2013-07-20T07:04:54.777 回答
0

截至 2019 年,我仍然没有找到一个让这样的任务变得简单的插件

这是一个相当务实的方法:

通常可以使用模式 JENKINSHOST:8080/job/%JOBNAME%/%BUILDNR1%/consoleText 访问构建日志

使用 Powershell,您可以执行类似的操作

mkdir LOGS
powershell.exe (new-object System.Net.WebClient).DownloadFile('http://JENKINSHOST:8080/job/%JOBNAME%/%BUILDNR1%/consoleText', 'LOGS\%JOBNAME%-%BUILDNR1%.log') 

应该很容易生成一个通用批处理(或使用 wget 而不是 powershell 的 shell 脚本),最后比较两个本地生成/下载的输出

'LOGS\%JOBNAME%-%BUILDNR1%.log'

'LOGS\%JOBNAME%-%BUILDNR2%.log'

使用您最喜欢的差异工具。

顺便提一句:

如果我适合插件编程,我会开始寻找https://wiki.jenkins.io/display/JENKINS/JobConfigHistory+Plugin作为模板。

于 2019-06-03T16:12:06.577 回答