`

jekins与ci集成工具

 
阅读更多
一、背景介绍
 
当前项目中,存在问题
■ 代码风格各异,同时缺少必要代码注释
■   常出现空指针类似的基础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插件集成 - 小精灵 - web前端工作者
 
 
 
 
三、实施方案
 
jenkins上CI插件安装
    ■ 手动安装
第一步,查询需要插件名称
https://wiki.jenkins-ci.org/display/JENKINS/Plugins
第二步,查询插件是否依赖其他插件
第三步,进入插件下载页面http://updates.jenkins-ci.org/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中配置构建信息
 
jenkins与CI插件集成 - 小精灵 - web前端工作者
 
junit插件主要作用:单元测试,测试代码功能
第一步:下载插件并安装插件
下载javatest-report.hpi与依赖插件放到${jenkins安装目录}/jenkins_home/plugins目录,重启服务
第二步:项目JOB中配置构建信息
jenkins与CI插件集成 - 小精灵 - web前端工作者
第三步:项目构建完成后,可以在刚才构建的buildID下面看到本次构建生成的junit报告信息
jenkins与CI插件集成 - 小精灵 - web前端工作者
 
findbugs插件主要作用:静态代码检查,发现常见代码问题
第一步:下载插件并安装插件
下载findbugs.phi与依赖插件放到${jenkins安装目录}/jenkins_home/plugins目录,重启服务
第二步:项目JOB中配置构建信息
jenkins与CI插件集成 - 小精灵 - web前端工作者
 
第三步:项目构建完成后,可以在刚才构建的buildID下面看到本次构建生成的findbugs报告信息
jenkins与CI插件集成 - 小精灵 - web前端工作者
 
pmd插件主要作用:静态代码检查,发现常见代码问题,与findbugs类似
第一步:下载插件并安装插件
下载pmd.phi与依赖插件放到${jenkins安装目录}/jenkins_home/plugins目录,重启服务
第二步:项目JOB中配置构建信息
jenkins与CI插件集成 - 小精灵 - web前端工作者
 
第三步:项目构建完成后,可以在刚才构建的buildID下面看到本次构建生成的pmd报告信息
jenkins与CI插件集成 - 小精灵 - web前端工作者
 
checkstyle插件主要作用:检查代码风格样式
第一步:下载插件并安装插件
下载checkstyle.phi与依赖插件放到${jenkins安装目录}/jenkins_home/plugins目录,重启服务
第二步:项目JOB中配置构建信息
jenkins与CI插件集成 - 小精灵 - web前端工作者
 第三步:项目构建完成后,可以在刚才构建的buildID下面看到本次构建生成的checkstyle报告信息
jenkins与CI插件集成 - 小精灵 - web前端工作者
 
 clover插件主要作用:检查代码单元测试的覆盖率,主要指标:行覆盖率,分支覆盖率,方法覆盖率
第一步:下载插件并安装插件
下载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>
 
 jenkins与CI插件集成 - 小精灵 - web前端工作者
 
jenkins与CI插件集成 - 小精灵 - web前端工作者
 
 第三步:项目构建完成后,可以在刚才构建的buildID下面看到本次构建生成的clover报告信息
jenkins与CI插件集成 - 小精灵 - web前端工作者
 
jenkins与CI插件集成 - 小精灵 - web前端工作者
duplicate code插件主要作用:检查代码中重复代码块的情况
第一步:下载插件并安装插件
下载dry.phi与依赖插件放到${jenkins安装目录}/jenkins_home/plugins目录,重启服务
第二步:项目工程配置JOB中配置构建信息
jenkins与CI插件集成 - 小精灵 - web前端工作者
 
 第三步:项目构建完成后,可以在刚才构建的buildID下面看到本次构建生成的重复代码报告信息
jenkins与CI插件集成 - 小精灵 - web前端工作者
第一步:下载插件并安装插件
下载createjobadvanced.phi与依赖插件放到${jenkins安装目录}/jenkins_home/plugins目录,重启服务
第二步:项目JOB中配置构建信息
 
  jenkins与CI插件集成 - 小精灵 - web前端工作者
 
 
第三步:配置定时后,系统会在指定时间自动构建
 
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集成
■ 能够每天监控项目代码,控制项目风险
■ 提高代码质量,减少后期开发,维护或测试成本,
■ 能够完成基础测试场景自动化测试,减少测试成本
分享到:
评论

相关推荐

    java教程之CI持续集成工具jenkins使用教程.zip

    java教程之CI持续集成工具jenkins使用教程.zip

    持续集成(CI)工具:jenkins_2.170

    Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具。 Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。 通常与版本管理工具(SCM)、构建工具结合使用。 常用的版本控制工具有SVN...

    Jenkins持续集成引擎.rar

    Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持续、自动的构建/测试软件项目、监控外部任务的运行(这个比较抽象,暂且写上,不做解释)。Jenkins用Java...

    19 最新尚硅谷集成工具Jenkins视频

    教程视频:Jenkins 是一个开源自动化服务器... Jenkins是开源CI&CD;软件领导者,提供超过1000个插件来支持构建、部署、自动化,满足任何项目的需要

    Git+Jenkins实现自动化构建与持续集成(git+jenkins+intelij)

    持续集成(Continuous integration)简称CI,持续集成的思想是每天要多次将代码合并到主干,并进行集成、测试,这样就可以提早发现错误,进行修正。 持续集成的好处: 1、自动化集成部署,提高了集成效率。 2、更快...

    Jenkins持续集成引擎的前身是Hudson是一个可扩展的持续集成引擎.rar

    开源的java语言开发持续集成工具,支持CI,CD; 易于安装部署配置:可通过yum安装,或下载war包以及通过docker容器等快速实现安装部署,可方便web界面配置管理; 消息通知及测试报告:集成RSS/E-mail通过RSS发布...

    jenkins.msi

    Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持续、自动的构建/测试软件项目、监控外部任务的运行(这个比较抽象,暂且写上,不做解释)。Jenkins用Java...

    jenkins_.zip

    Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持续、自动的构建/测试软件项目、监控外部任务的运行(这个比较抽象,暂且写上,不做解释)。Jenkins用Java...

    使用Jenkins对接Github进行自动化CI

    本文来自yq.aliyun.com,Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。Jenkins在Dockerhub上有官方镜像和...

    ManCI面向中国开发者生态的 Jenkins 流水线简化自动化框架,轻松集成实现各个代码平台的 CI/CD 流程

    ManCI 是一款专为中国开发者社区打造的 Jenkins 流水线自动化框架,旨在应对当前 CI 过程中的挑战,借鉴 GitHub 的 CI 工作流最佳实践,并通过 ...一个 Jenkins library 库,轻松集成实现各个代码平台的 CI/CD 流程

    jenkins+Git搭建持续集成环境

    jenkins是目前广泛应用的持续集成工具,本文记录我使用jenkins+Git配置持续集成环境的整个流程以及踩到的坑(jenkins过程的坑往往不是在第一次配置,而是在配置结束后更改某些配置项的时候踩到)。总体流程如下:...

    低分版——百度网盘-----Jenkins权威指南(中文高清完整版)

    《Jenkins权威指南》适合想要了解Jenkins工具以及持续集成、持续交付理念的开发和测试人员阅读,也非常适合基于Jenkins构建持续集成、持续交付平台的技术人员阅读。 目录 第1 章 Jenkins 简介 1 第2 章 迈入...

    Jenkins与Docker的持续集成实践

    目前持续集成的生态越来越完善,工具也有很多,开源的或商业的。如:最最流行的,也是使用最多的Jenkins有着持续集成DNA的ThoughtWorksGO。...Jenkins是开源的应用最广泛的持续集成工具,支持CI,CD;Jenkins有很

    jenkins基本介绍与maven项目的实现

    Jenkins是一个可扩展的持续集成引擎。 主要用于:持续、自动地构建/测试软件项目。监控一些定时执行的任务。 Jenkins拥有的特性包括: 易于安装-只要把jenkins.war部署到servlet容器,不需要数据库支持。 易于配置-...

    jenkins.zip

    Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持续、自动的构建/测试软件项目、监控外部任务的运行(这个比较抽象,暂且写上,不做解释)。Jenkins用Java...

    jenkins-2.176.2.zip

    Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持续、自动的构建/测试软件项目、监控外部任务的运行(这个比较抽象,暂且写上,不做解释)。Jenkins用Java...

    CI/CD工具选型:Jenkins还是Bamboo?

    持续集成和持续交付是在...虽然持续集成(CI)和持续交付(CD)已经成为DevOps的重要组成部分,但在选择最佳工具时,DevOps 团队常常会陷入困境。如果没有CI/CD工具是无法想象的。持续集成(CI)和持续交付(CD)已经

    jenkins-2.258-1.1.noarch.zip

    Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持续、自动的构建/测试软件项目、监控外部任务的运行(这个比较抽象,暂且写上,不做解释)。Jenkins用Java...

    Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台

    Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成。 Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括...

Global site tag (gtag.js) - Google Analytics