201909 国庆节前 Jenkins 插件实践与Console上色

探讨了在Jenkins中优化测试日志可视化的多种方案,包括使用LogParse、log4j、JUnitRealtimeTestReporterPlugin及前端自定义日志颜色的方法。介绍了如何通过前端修改日志内容,利用mark.js和SimpleTheme插件实现在console中查看带颜色的日志,以及解决加载页面时Loading...不消失的问题。

需求是Jenkins跑完测试结果不清晰,测试运行过久,测试过程中不知道测试结果。

  1. LogParse不理想,它会自己框出一片区域来放日志,通过写颜色配置文件,正则匹配颜色,但是颜色较少,只有三种;优点是通过正则匹配,是在表现层(最末端)处理,不用改日志输出
  2. 通过log4j输出日志带颜色,再安装支持ANSI转义字符的插件:AnsiColor,如果想在console看颜色,使用less -R或者安装vim插件ANSI color;log4j颜色,不能为自定义等级的日志设置颜色,暂时没有找到办法
  3. 上面两个办法都有个缺点,应该是TestResult的缺点;不能实现的是让TestResult带颜色,因为测试人员一般都在看testResult
  4. 实时查看测试结果:JUnit Realtime Test Reporter Plugin, 凑合能用
  5. Test Analyzer Plugin 也不错,分析测试结果。
  6. 关于上色,换种方式来实现,借鉴浏览器插件的思路,在前端自己改日志的内容。本来自己还想看看富文本相关的知识,看起来入门不简单,于是SF上看到了个 mark.js,那么怎么让JS运行呢?难不成写个火狐插件啊?后来得知一个插件:SImple Theme 有很多基于其做的开源UI,我通过“学习”其中一个UI:https://github.com/kevinburke/doony. 再配合F12三脚猫功夫得知想修改console输出就得改pre这个标签里的内容,这样怎么插入运行JS的问题就解决了。 那如何加载JS呢?Jenkins有个目录是/var/lib/jenkins/userContent/,不受权限控制,即使不登陆也能加载,就可以把编写好的JS和CSS文件放在那里,也可以放别的网站、CNS去加载,配置好即可。
    当然,事情并不总是一帆风顺,在你编写好CSS和JavaScript后,加载页面系统管理页面、配置页面时会一直显示loading,笔者肯定是找到了解决方法了!https://issues.jenkins.io/browse/JENKINS-26378,因为钻研啥都不钻研前端的理念,这里摘录一些:

I had a similar problem - with the plugin installed and my skinning JavaScript, the “Loading…” never went away. I think it has to do with event handlers, etc. Try this in your Javascript:

function myFunction() {
  // the stuff you want to do.
}
var body = document.getElementsByTagName('body');
if (window.addEventListener) {
  window.addEventListener('load', myFunction, false);
}
else if (window.attachEvent) {
  window.attachEvent('onload', myFunction );
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值