Hudson可扩展持续集成引擎

简介:

参考文章:http://blog.csdn.net/dazhi_100/article/details/11629133

极限编程中一项建议实践便是持续集成,持续集成是指在开发阶段,对项目进行持续性自动化编译、测试,以达到控制代码质量的手段。 
     持续集成提供了及时发现问题、追踪问题、修复问题的机制,他替代了传统的在所有代码编写完毕后才提交QA部门进行测试的方法。 
     持续集成对单元测试较为依赖,测试覆盖率越高,单元测试越准确,越能体现持续集成的效果。持续集成主要在以下方面提供好处; 

1、持续自动化测试(持续集成可通过时间间隔触发,或其他方式触发) 
2、跟踪工程健康状况 
3、强制性单元测试用例,验收测试用例等 
4、静态代码检测,生成测试报告 

    Hudson是一款轻量级、易扩展、易配置的持续集成平台,该集成平台maven2有良好的支持,并且扩展插件丰富,包括findbug,PMD静态分析插件、emma单元测试覆盖率插件、junit测试报告插件等等。 

    下面我们以Hudson持续集成平台为例,主要讲解怎么安装hudson和hudson扩展插件的使用,并以maven2工程为例,建立新作业。 

     下载Hudson的war包,http://hudson-ci.org/ 在tomcat环境里,在conf\Catalina\localhost 中新建配置文件hudson.xml,配置如下 
<?xml version="1.0" encoding="UTF-8"?> 
   <Context docBase="yourPath/hudson.war" path="hudson" reloadable="false"> 
</Context> 
yourPath为hudson.war的目录路径。 
启动tomcat,访问http://localhost:8080/hudson便能访问我们的持续集成应用了。Jboss环境中,复制war包到default目录下即可。如下为安装好以后的hudson访问界面。 

 


应用搭建好以后,我们按一下步骤操作 

一、hudson全局配置信息 
     
    hudson配置,比如JDK的安装目录、Maven的安装目录等、SMTP服务器和用户密码等(用于编译失败提醒开发人员) 

     进入“系统管理”》“系统设置”,对maven的安装目录、jdk的安装目录进行设置,其他保持默认,如若需要高级配置,请打开问号下的提示信息,按照提示开启相应的选项。如下图为maven和jdk的配置信息。 
   



二、新建任务和任务配置 
  
    hudson任务表示一个持续集成的项目,任务配置包括项目版本控制分支、集成任务触发器(何时触发项目集成) 

     进入“新建任务”,如下图选择maven2项目,并输入任务名称 
    



    点击保存后,进入任务“配置”项 
   
    任务配置包括主要的SVN的项目分支配置、项目集成触发机制配置和编译目标配置。配置后如下所示 
    


    一个集成任务就这样简单的配置好了,目前能持续的编译和测试,在发现测试不通过或者编译不通过的时候,由邮件发送给相关开发者(需自行配置)。 

三、添加插件和运用插件 
    
     配置一个任务后,我们希望hudson不仅可以通过集成发送测试报告、编译问题,还需要掌握静态代码的分析结果,比如findbus或pmd的分析结果,再或则是单元测试覆盖率的相应报告。接下来,我们安装findbus插件。 

      进入“系统管理”》“管理插件”,如下 
      
      
 

   我们在“可选插件”中找到findbugs插件,analysis-core插件,并下载。进入高级选项。上传并安装如下: 
   


重启系统,手动触发集成,我们可以见到最终的集成环境,包括插件的图示等,至此,hudson安装完毕,其中还有部分功能有待大家去研究和使用,插件也丰富多彩。 


本文转自demoblog博客园博客,原文链接http://www.cnblogs.com/0616--ataozhijia/p/3673622.html如需转载请自行联系原作者


demoblog

相关文章
|
3月前
|
jenkins Java 持续交付
Jenkins,持续交付的利器:揭秘插件生态系统(一)
Jenkins,持续交付的利器:揭秘插件生态系统
|
3月前
|
存储 测试技术 持续交付
自动化测试与持续集成/持续交付(CI/CD):优化软件开发流程的利器
自动化测试与持续集成/持续交付(CI/CD)是现代软件开发中至关重要的环节,通过将自动化测试与持续集成/持续交付相结合,可以实现开发流程的高效优化,提高软件质量和交付速度。本文将探讨自动化测试与CI/CD的概念、原理及其在软件开发中的重要性,以及如何实施这些技术以提升团队的协作效率和软件交付质量。
59 1
|
3月前
|
Kubernetes jenkins 测试技术
Jenkins,持续交付的利器:揭秘插件生态系统(二)
Jenkins,持续交付的利器:揭秘插件生态系统
|
28天前
|
监控 Cloud Native 测试技术
持续集成与持续交付(CI/CD)在云原生环境中的应用与优化
传统软件开发模式下的集成和交付流程往往繁琐且易出错,而随着云原生技术的快速发展,持续集成与持续交付(CI/CD)在云原生环境中的应用变得尤为重要。本文将探讨CI/CD在云原生环境中的应用及优化策略,包括自动化测试、容器化部署以及监控和反馈机制等方面,旨在帮助开发团队更好地应对云原生时代的挑战。
17 2
|
敏捷开发 弹性计算 Kubernetes
jenkins持续集成从0入门到实战【五】企业级实战之参数化构建
在企业中,要实现敏捷开发,必须结合jenkins的众多插件来实现更牛逼的特性。 思考一个问题:企业中究竟如何进行管理项目发布的?代码的回滚怎么做?接下来我们来进入到企业级常用实战内容的学习
177 0
jenkins持续集成从0入门到实战【五】企业级实战之参数化构建
|
Java 测试技术 持续交付
持续集成(二):CI服务器 & 工具集
本文讲的是持续集成(二):CI服务器 & 工具集在持续集成(CI)系列的前面一篇文章里,我们关注了CI的基本概念,它是如何帮助企业减少集成软件时的错误,采用它带来的好处和遇到的难点,以及最后,它是如何助力敏捷开发和DevOps团队文化的推行。
1727 0
|
持续交付
SAP ABAP CI/CD持续集成,持续交付解决方案
SAP ABAP CI/CD持续集成,持续交付解决方案
166 0
SAP ABAP CI/CD持续集成,持续交付解决方案
|
jenkins 持续交付 Docker
SAP开源的持续集成-持续交付的解决方案
SAP开源的持续集成-持续交付的解决方案
107 0
SAP开源的持续集成-持续交付的解决方案
|
测试技术 负载均衡 数据格式