自动化CI分析报告系统

Posted hello-Will

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自动化CI分析报告系统相关的知识,希望对你有一定的参考价值。

使用场景

我们有个基于jenkens的 CI,每天都会测试很多太不同的服务器,产生很多的数据,收到很多邮件,情况是数据太分散,还需要人为的花费很多时间去分析处理,由此产生的数据集中化,分析处理后,按需报告的系统。

报告结果

下面是按照我们的需求对每个测试case的分析结果部分展示

这个文件是使用pandas处理生成的,每天相关人员都会收到一个邮件附件是上面的报告文件,根据需求把各项数据进行处理。

技术实现

pandas

pandas 做excel文件的统计,分析,再组织的工作。

    all_data = pd.ExcelFile(final_file)
    datacase = all_data.parse('daecaseinfo')

restful api github/jira/bickbucket/jenkens/testrail

从jira上抓取issue的owner , status
从jenkens 上抓取CI 原始测试数据
从testrail 上抓取case的描述,状态信息

docker & crontab

在一个稳定server上面创建一个容器,把写好的程序放进去,这里建议把文件设置成共享模式,然后再docker里面启动
crontab 服务,定时执行

# run test result analysis everyday 10:00
00 10 * * * echo `date` > /tmp/testresult.txt &&  /usr/local/bin/python /share/utilities/testresult_analysis.py >t.txt 2>&1
# send result email everyday 10:30
30 10 * * * echo `date` > /tmp/testemail.txt &&  /usr/local/bin/python  /share/utilities/send_email.py >> /tmp/test.txt

这样每天就可以收到一个集中式的分析报告

以上是关于自动化CI分析报告系统的主要内容,如果未能解决你的问题,请参考以下文章

解决ci框架php发送邮件附件中文乱码问题

python接口自动化(三十)--html测试报告通过邮件发出去——中(详解)

在批准报价、运行报告、生成 PDF 并发送带有 PDF 作为附件的电子邮件

如何在 VSTS CI/CD 发送的构建电子邮件中添加 SonarQube 分析报告?

即使缺少预期的附件,如何生成电子邮件?

Jenkins自动化CI CD流水线之6--构建邮件状态通知