我们有定期构建sqlite数据库的软件(在Jenkins之外)。我想运行一些测试来查看当前构建中的任何表是否明显小于上一个构建中的表。我认为我只需要将结果序列化到磁盘(或数据库)并手动检查差异。詹金斯是否有更正式的框架来处理这种情况?
答案 0 :(得分:3)
最简单的方法是添加一个由Jenkins执行的简单脚本,或者在构建过程中嵌入一个脚本以导出稍后可由Measurement Plots Plugin使用的文件。此插件可以使用您的数据解析XML文件,保留多个构建的历史记录并为您绘制图形。虽然它需要一些手工工作,但它是这类事情的最佳选择。
答案 1 :(得分:0)
截至2019年,我仍然没有找到一个可以轻松完成此任务的插件
这是一种非常实用的方法:
通常可以使用以下模式在Web上访问buildlog JENKINSHOST:8080 /职位/%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作为模板。