IBM实习项目经历一【基于jenkins的自动化控制平台】

来源:互联网 发布:郑州数据分析师工资 编辑:程序博客网 时间:2024/05/16 14:42

一、前言:

      来ibm实习已经有两个多月了,也做过一些项目。虽然项目规模不大,但也算得上自己的一些项目经历。现记录下来,为以后找正式工作打下基础。

二、项目背景:

     该项目是基于jenkins开发的自动化控制平台,要求用户高度可配置的。采用的是Master-Slave框架。主要的功能是:在master上通过各个job来驱动slave结点上的测试工具(如:loadrunner、jemeter),并且将测试结果统一返回到master结点上,并且对测试结果进行分析,生成表格文件(csv),以及在jenkins上进行图表展示。

三、项目成员及职责:

leader:主要负责技术支持,项目框架的构建。

浙大实习生:主要负责多个job自动按顺序执行,不需要手动干预。

我:主要开发在master上启动slave结点的测试工具,并且将结果返回到master上,然后分析,展示的job。

四、知识点的介绍:

1、Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括:

1)、持续的软件版本发布/测试项目。

2)、监控外部调用执行的工作。

2、在该过程中使用到jenkins的插件介绍:

Plot:可对csv文件的结果进行展示(注:csv文件实际是文本格式的文件)

BuildFlow:将驱动slave结点测试工具的job和分析结果的job分成一个group。例如:

  guard{
  build("startloadrunner")
  }rescue{
  build("analysis")
  }

Copy To Slave Plugin:将slave的结果文件,拷贝到master上job的workspace下面。

FSTrigger Plugin:可以自动检测当job下面的配置文件改变时,启动该job,即实现多个job自动有序启动。

3、如果该job是连接到slave结点,则该job上所有的支持cmd命令,或者jar。都是在slave结点机子上运行的。

五、项目的实现:

 我:主要是写启动loadrunner等测试工具的jar,并且获取结果。以及在master上分析结果的jar包。

 浙大实习生:主要是写实现多个job自动有序执行的jar包。

六、遇到的问题:

1、在同一台master上,有各个slave结点返回的结果,怎样获取想要的结果文件?

答:改变配置文件,将分析结果的job=启动测试工具的job。这样就知道分析哪个测试工具的产生的结果

2、怎样先执行测试工具的job,然后执行分析结果的job

答:使用buildflow插件,将两个job合并在一起。

。。。

总结:在项目中遇到困难问题时,采用最简单的模式,然后一个bug一个bug进行排查。




0 0
原创粉丝点击