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

    文章

    3649

    浏览量

    94330
  • Pipeline
    +关注

    关注

    0

    文章

    28

    浏览量

    9430

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

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

收藏 人收藏

    相关推荐

    Protel元件封装与符号对应总结

    Protel元件封装与符号对应总结 电阻 AXIAL 无极性电容 RAD 电
    发表于 05-02 22:46 7488次阅读

    数据SQL的优化

    用户成功连接数据之后,用户和数据成功建立起了会话。此后,用户每通过会话发出一条SQL语句,数据系统都会对其进行一系列检查、分析、处理。 同时优化器会对SQL进行一些
    的头像 发表于 10-09 15:43 1127次阅读
    数据<b class='flag-5'>库</b>SQL的<b class='flag-5'>优化</b>

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

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

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

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

    基于数据查询过程优化设计

    在大型关系数据管理与开发中,优化设计极大地提高数据的性能。通过对一大型数据查询语句执行过程的讨论,提出了对同一表格进行多个选择运算的
    发表于 02-27 16:05 18次下载

    深入优化DB2 数据的五个最佳实践

    深入优化DB2 数据的五个最佳实践   结构化查询语言(SQL)对于关系型DBMS是把双刃剑,利弊参半。因为从关系型数据检索任何
    发表于 01-27 13:28 895次阅读

    FPGA学习DXP元件和封装

    FPGA学习DXP元件和封装,好东西,喜欢的朋友可以下载来学习。
    发表于 01-18 17:03 49次下载

    实践电磁兼容设计PCB布线基本措施

    实践电磁兼容设计PCB布线基本措施。
    发表于 11-02 15:44 0次下载

    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 5522次阅读

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

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

    数据系统概论如何进行关系查询处理和查询优化

    本文档的主要内容详细介绍的是数据系统概论如何进行关系查询处理和查询优化主要内容包括了:1、关系数据系统的查询处理 2、关系数据系统的
    发表于 11-15 15:12 11次下载
    数据<b class='flag-5'>库</b>系统概论<b class='flag-5'>之</b>如何进行关系查询处理和查询<b class='flag-5'>优化</b>

    将置信规则分级优化的网络安全态势预测方法

    有限的特性,提出一种将置信规则分级优化的网络安全态势预测方法。建立模型作用空间划分规则作用域,将训练数据按照输入坐标分配到对应的规则作用域,通过设定临界值将规则划分为可完全
    发表于 03-16 10:47 11次下载
    将置信规则<b class='flag-5'>库</b>分级<b class='flag-5'>优化</b>的网络安全态势预测方法

    测控工程实践LabVIEW实践教程

    测控工程实践LabVIEW实践教程说明。
    发表于 04-19 14:29 43次下载

    从理论到实践pcb阻抗控制表的使用

    从理论到实践pcb阻抗控制表的使用
    的头像 发表于 09-26 10:34 770次阅读