一、背景介绍 当前项目中,存在问题 ■ 代码风格各异,同时缺少必要代码注释 ■ 常出现空指针类似的基础bug ■ 代码单元测试缺失,测试场景覆盖不大 ■ 重复代码大量出现 ■ 转测试后,基础用例需要大量人力去验证 ■ 其他:缺少性能测试 导致后果 ■ 他人阅读代码困难,后期维护成本增加 ■ 代码质量不高,后期维护成本增加 ■ 开发成本增加,后期维护成本增加 ■ 测试成本明显增加 因此需要一个持续代码集成,能够让开发或测试减少成本,提高质量工具,而jenkins正好可以与CI插件集成起来,实现这些功能。 二、解决方案 ■ 代码风格各异,通过统一checkstyle样式来检查 ■ 常出现空指针类似的基础bug,可以通过findbugs静态检查 ■ 多余if或者try catch,可以通过pmd检查 ■ 单元测试用例测试功能结果,可以通过junit报告检查 ■ 大量重复代码,可以通过duplicate code报告来检查 ■ 测试用例覆盖度,能够通过clover来检查 ■ 基础功能,可以通过selenium自动化测试 ■ 性能测试,可以通过jmeter来完成 虽然项目人员能够自己使用这些工具,完善代码,提高质量,但是却不方便项目统一管理。 而Jenkins能够集成这些插件,做到统一管理,解决项目问题。 Jenkins,之前叫做Hudson,是基于Java开发的一种持续集成工具,用于监控秩序重复的工作。 主要包括: 1、持续的软件版本发布/测试项目。 2、监控外部调用执行的工作。 Jenkins能够集成各式插件,如常用CI插件:deploy,junit,findbugs,pmd,checkstyle,clover, duplicate code,jmeter,selenium等, 而这些工具正好可以解决项目存在一些问题。 三、实施方案 jenkins上CI插件安装 ■ 手动安装 第一步,查询需要插件名称 https://wiki./display/JENKINS/Plugins 第二步,查询插件是否依赖其他插件 第三步,进入插件下载页面http://updates./download/plugins/?C=N;O=D,下载插件 第四步,将插件放到 ${jenkins安装目录}/jenkins_home/plugins,手动重启服务。 即进去${jenkins安装目录}/tomcat7/bin,使用shutdown.sh与startup.sh关闭或者启动jenkins服务。 ■ jenkins管理平台安装 第一步,进入jenkins管理平台,点击登录。(第一个注册的即为管理员) 第二步,点击左边菜单系统管理,在弹出页面中选择管理插件 第三步,点击可选插件,找到需要安装插件 勾选安装后重启或者先下载重启后再安装,也可以进入命令行手动重启jenkins。 jenkins上CI插件集成 Deploy插件主要作用:打包发布 第一步:下载插件并安装插件 下载weblogic-deployer-plugin.hpi(因为我们用的是weblogic服务器,其他tomcat,apache,jboss下载deploy.hpi插件)与依赖插件放到${jenkins安装目录}/jenkins_home/plugins目录,重启服务 第二步:项目JOB中配置构建信息 junit插件主要作用:单元测试,测试代码功能 第一步:下载插件并安装插件 下载javatest-report.hpi与依赖插件放到${jenkins安装目录}/jenkins_home/plugins目录,重启服务 第二步:项目JOB中配置构建信息 第三步:项目构建完成后,可以在刚才构建的buildID下面看到本次构建生成的junit报告信息 findbugs插件主要作用:静态代码检查,发现常见代码问题 第一步:下载插件并安装插件 下载findbugs.phi与依赖插件放到${jenkins安装目录}/jenkins_home/plugins目录,重启服务 第二步:项目JOB中配置构建信息 第三步:项目构建完成后,可以在刚才构建的buildID下面看到本次构建生成的findbugs报告信息 pmd插件主要作用:静态代码检查,发现常见代码问题,与findbugs类似 第一步:下载插件并安装插件 下载pmd.phi与依赖插件放到${jenkins安装目录}/jenkins_home/plugins目录,重启服务 第二步:项目JOB中配置构建信息 第三步:项目构建完成后,可以在刚才构建的buildID下面看到本次构建生成的pmd报告信息 checkstyle插件主要作用:检查代码风格样式 第一步:下载插件并安装插件 下载checkstyle.phi与依赖插件放到${jenkins安装目录}/jenkins_home/plugins目录,重启服务 第二步:项目JOB中配置构建信息 第三步:项目构建完成后,可以在刚才构建的buildID下面看到本次构建生成的checkstyle报告信息 第一步:下载插件并安装插件 下载checkstyle.phi与依赖插件放到${jenkins安装目录}/jenkins_home/plugins目录,重启服务(clover有收费和试用) 第二步:项目工程配置JOB中配置构建信息 <plugin> <groupId>com.atlassian.maven.plugins</groupId> <artifactId>maven-clover2-plugin</artifactId> <version>3.1.8</version> <configuration> <generateXml>true</generateXml> </configuration> </plugin> duplicate code插件主要作用:检查代码中重复代码块的情况 第一步:下载插件并安装插件 下载dry.phi与依赖插件放到${jenkins安装目录}/jenkins_home/plugins目录,重启服务 第二步:项目工程配置JOB中配置构建信息 第一步:下载插件并安装插件 下载createjobadvanced.phi与依赖插件放到${jenkins安装目录}/jenkins_home/plugins目录,重启服务 第二步:项目JOB中配置构建信息 第三步:配置定时后,系统会在指定时间自动构建 Crontab格式:f1 f2 f3 f4 f5 program 其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执行的程式。 第一步:下载插件并安装插件 下载email-ext对应的*.hpi与依赖插件放到${jenkins安装目录}/jenkins_home/plugins目录,重启服务 第二步:项目JOB中配置构建信息 在”Post-build Actions”选项中,不选择”Email Notification”标签,而勾选”Editable Email Notification”标签。并在Global Recipient List中填入接收邮件的地址,其它默认即可。 四、结论 通过jenkins与CI集成 ■ 能够每天监控项目代码,控制项目风险 ■ 提高代码质量,减少后期开发,维护或测试成本, ■ 能够完成基础测试场景自动化测试,减少测试成本 |
|