0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

对iPipeline的对plll库做出了对应的优化并实践之。

8nfr_ZTEdevelop 2018-04-05 18:23 次阅读

问题描述

项目CI系统引入了Jenkins2.0iPipeline 框架(plll库)之后应该说提升了很多幸福感,其中一个很重要的方面来源于框架已经为用户提供了报告和邮件的基本格式,显示直观且高效。

一个典型的报告和邮件的基本格式举例如下图所示:

对iPipeline的对plll库做出了对应的优化并实践之。

从图中可以看出,各个步骤的总览信息格式化被显示,执行报告和链接,制品库报告和链接以及运行时间一览无余。

但正是由于plll库已经将报告和邮件的样式格式化了,因此用户在基本报告样式的基础上无法扩展报告和邮件展示的内容。这在本项目若干用例测试的结果报表需要附加到报告和邮件的情况下显得不是很方便

因此我们决定将报告和邮件展示变为可扩展模式,可以由用户在基本报告格式以外自由添加其他数据并显示,我们称该功能为快捷报告追加(QuickReport)

带着这个问题,我们对plll库做出了对应的优化并实践之。

优化实践

优化plll库源代码,加入QuickReport功能:

def quickReportContent =""

try{

ForeachFunctions{ context ->

if(context.args.param.quick_report){

for(int i=0; i

{

def report = context.args.param.quick_report[i]

if(report.report_dir && report.report_file && report.report_name

&&(report.report_always || context.message=='')){

def quickReportFile = report.report_dir +"/"+ report.report_file

quickReportContent = readFile quickReportFile

quickReportContent ="


"+ quickReportContent // 加一条浅绿色的分界线

echo "quickReport内容是:"+ quickReportContent

}

}

}

}

}

catch(Exception ex){

echo ex.getMessage()

getData().result='failure'

getData().message+="[ERROR] PublishReportAll ${ex.getMessage()} \n"

}

html = html + quickReportContent

使用举例:

对于用户来说,只需要在plll接口的param参数列表中配上quick_report参数,用来指明需要扩展的报告内容和文件名等参数,则报告或邮件中将添加用户的扩展内容并显示,示例代码如下:

plll.Test("check_xxx_case","case检查",[

run_dir:"${verifyScriptPath}/${runSubPath}",

run_execute:{ run "${cmd}"},

verify_dir:"${->env.OUTPUT_PATH}/",

verify_after: tmp_move_shell_name,

verify_execute: tmp_verify_shell_log_name,

param:[

report_file:[[report_dir:"${->env.OUTPUT_PATH}/", report_file:"${publishLogName}",report_name:"case检查_report", report_always:true]],

quick_report:[[report_dir:"${->env.OUTPUT_PATH}/", report_file:"${quickReportName}",report_name:"case检查_quick_report", report_always:true]]

]

]);

由代码可见,我们在quick_report的参数列表中配置了用户快捷报告所载目录,报告文件名以及报告名,框架即可自动将用户自定义报告附加到原基本表格下面,并以绿色分割线分割。

效果展示:

例如对本项目而言,测试任务中每次都有一个叫做报文CASE测试报告需要直观地呈现给用户查看,而不需要让用户点击链接自行查看,因此我们可以将其作为QuickReport扩展到邮件和Jenkins汇总报告中:

Jenkins汇总展示报告如下,用户自定义表格已经扩展在下方,如下图所示:

对iPipeline的对plll库做出了对应的优化并实践之。

同理邮件中也被扩展显示了,如下图所示:

对iPipeline的对plll库做出了对应的优化并实践之。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编程
    +关注

    关注

    88

    文章

    3440

    浏览量

    92387
  • Pipeline
    +关注

    关注

    0

    文章

    27

    浏览量

    9293

原文标题:干货 | Jenkins2.0 Pipeline框架(iPipeline)优化实践之路(二)

文章出处:【微信号:ZTEdeveloper,微信公众号:中兴开发者社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    LabVIEW 助力优化软件开发实践和源代码控制

    使用LabVIEW的一部分。一个坚实的软件工程理论基础和源代码控制的最佳实践可以保证你有能力管理一个开发小组,领导他们设计实现高水平的LabVIEW系统。本文中所讨论的各种工具和开发实践可以帮助你显著地改进开发
    发表于 09-13 09:30

    简单美——软件开发实践者的思考

    ` 本帖最后由 zgzzlt 于 2012-8-16 14:01 编辑 简单美——软件开发实践者的思考`
    发表于 08-06 12:29

    labview通过表格控件如何调用对应的数据表?

    行,这行里的含有时间信息,如15:30:30;3)单击界面A的查询按钮,能查询显示access数据中表B的所有信息,表B的命名规则如下:测试数据_15:30:30,当然, 表A中每一个时间信息,都对应一个具体的表,如表B,表
    发表于 05-05 15:35

    2017双11技术揭秘—TDDL/DRDS 的类 KV 查询优化实践

    仅在SQL层面进行进一步优化会非常困难,因此针对这类场景,TDDL/DRDS 配合 AliSQL 提出了全新的解决方案。作者:励强(君瑜)场景介绍性能优化是企业级应用永恒的话题,关系型数据
    发表于 12-29 14:29

    Pythonipython详解

    Pyipython:Pythonipython的简介、安装、使用方法详细攻略
    发表于 12-26 10:50

    Pythondocx详解

    Pydocx:Pythondocx简介、安装、使用方法详细攻略
    发表于 12-27 16:44

    数据设计及开发规范sql性能优化

    数据设计及开发规范,sql性能优化
    发表于 05-08 10:58

    MySQL优化查询性能优化查询优化器的局限性与提示

    MySQL优化三:查询性能优化查询优化器的局限性与提示
    发表于 06-02 06:34

    Build settings探究编译优化介绍

    Build settings探究—编译优化
    发表于 06-19 10:17

    《电子DIY》《单片机实践项目》基于51单片机的打地鼠设计与制作

    《电子DIY》《单片机实践项目》基于51单片机的打地鼠设计与制作,此课程主要讲解如何使用51单片机进行实战应用,分为多次课,每次课都会分别围绕一个课程设计或毕业设计(实践项目)展开
    发表于 07-20 06:46

    政府外网优化设计实践

    政府外网优化设计实践 摘  要:本文详细分析了政府外网应用特点,结合当前先进的网络技术和设备功能及其在管理工作中应用,描述了适用于政府各级部
    发表于 05-23 15:44 5次下载

    MySql5.6性能优化最佳实践

    MySql5.6性能优化最佳实践
    发表于 09-08 08:47 13次下载
    MySql5.6性能<b class='flag-5'>优化</b>最佳<b class='flag-5'>实践</b>

    iPipeline的接口进行优化实践

    X项目原CI系统由项目自行搭建,随着项目规模越来越大,现有系统呈现出诸多不便之处,为解决这些问题,项目尝试引入一系列现成公司级Devops研发工具并结合Jenkins2.0的Pipeline新特性来改造本项目....
    的头像 发表于 04-05 18:14 5229次阅读

    游戏愿景蓝图:你做出了正确的游戏了吗

    游戏愿景蓝图:你是否做出了正确的游戏
    的头像 发表于 05-31 09:14 1766次阅读

    介绍得物App在资源优化上做的一些实践

    包体积优化中,资源优化一般都是首要且容易有成效的优化方向。资源优化是通过优化APK中的资源项来优化
    的头像 发表于 07-24 09:00 459次阅读
    介绍得物App在资源<b class='flag-5'>优化</b>上做的一些<b class='flag-5'>实践</b>