持续集成hudson入门

2023-11-20 14:08
文章标签 入门 集成 持续 hudson

本文主要是介绍持续集成hudson入门,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 极限编程中一项建议实践便是持续集成,持续集成是指在开发阶段,对项目进行持续性自动化编译、测试,以达到控制代码质量的手段。 
     持续集成提供了及时发现问题、追踪问题、修复问题的机制,他替代了传统的在所有代码编写完毕后才提交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安装完毕,其中还有部分功能有待大家去研究和使用,插件也丰富多彩。 


这篇关于持续集成hudson入门的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/395150

相关文章

从入门到精通C++11 <chrono> 库特性

《从入门到精通C++11<chrono>库特性》chrono库是C++11中一个非常强大和实用的库,它为时间处理提供了丰富的功能和类型安全的接口,通过本文的介绍,我们了解了chrono库的基本概念... 目录一、引言1.1 为什么需要<chrono>库1.2<chrono>库的基本概念二、时间段(Durat

在Spring Boot中集成RabbitMQ的实战记录

《在SpringBoot中集成RabbitMQ的实战记录》本文介绍SpringBoot集成RabbitMQ的步骤,涵盖配置连接、消息发送与接收,并对比两种定义Exchange与队列的方式:手动声明(... 目录前言准备工作1. 安装 RabbitMQ2. 消息发送者(Producer)配置1. 创建 Spr

解析C++11 static_assert及与Boost库的关联从入门到精通

《解析C++11static_assert及与Boost库的关联从入门到精通》static_assert是C++中强大的编译时验证工具,它能够在编译阶段拦截不符合预期的类型或值,增强代码的健壮性,通... 目录一、背景知识:传统断言方法的局限性1.1 assert宏1.2 #error指令1.3 第三方解决

如何在Spring Boot项目中集成MQTT协议

《如何在SpringBoot项目中集成MQTT协议》本文介绍在SpringBoot中集成MQTT的步骤,包括安装Broker、添加EclipsePaho依赖、配置连接参数、实现消息发布订阅、测试接口... 目录1. 准备工作2. 引入依赖3. 配置MQTT连接4. 创建MQTT配置类5. 实现消息发布与订阅

SpringBoot集成LiteFlow工作流引擎的完整指南

《SpringBoot集成LiteFlow工作流引擎的完整指南》LiteFlow作为一款国产轻量级规则引擎/流程引擎,以其零学习成本、高可扩展性和极致性能成为微服务架构下的理想选择,本文将详细讲解Sp... 目录一、LiteFlow核心优势二、SpringBoot集成实战三、高级特性应用1. 异步并行执行2

从入门到精通MySQL 数据库索引(实战案例)

《从入门到精通MySQL数据库索引(实战案例)》索引是数据库的目录,提升查询速度,主要类型包括BTree、Hash、全文、空间索引,需根据场景选择,建议用于高频查询、关联字段、排序等,避免重复率高或... 目录一、索引是什么?能干嘛?核心作用:二、索引的 4 种主要类型(附通俗例子)1. BTree 索引(

Redis 配置文件使用建议redis.conf 从入门到实战

《Redis配置文件使用建议redis.conf从入门到实战》Redis配置方式包括配置文件、命令行参数、运行时CONFIG命令,支持动态修改参数及持久化,常用项涉及端口、绑定、内存策略等,版本8... 目录一、Redis.conf 是什么?二、命令行方式传参(适用于测试)三、运行时动态修改配置(不重启服务

MySQL DQL从入门到精通

《MySQLDQL从入门到精通》通过DQL,我们可以从数据库中检索出所需的数据,进行各种复杂的数据分析和处理,本文将深入探讨MySQLDQL的各个方面,帮助你全面掌握这一重要技能,感兴趣的朋友跟随小... 目录一、DQL 基础:SELECT 语句入门二、数据过滤:WHERE 子句的使用三、结果排序:ORDE

SpringBoot3应用中集成和使用Spring Retry的实践记录

《SpringBoot3应用中集成和使用SpringRetry的实践记录》SpringRetry为SpringBoot3提供重试机制,支持注解和编程式两种方式,可配置重试策略与监听器,适用于临时性故... 目录1. 简介2. 环境准备3. 使用方式3.1 注解方式 基础使用自定义重试策略失败恢复机制注意事项

SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程

《SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程》LiteFlow是一款专注于逻辑驱动流程编排的轻量级框架,它以组件化方式快速构建和执行业务流程,有效解耦复杂业务逻辑,下面给大... 目录一、基础概念1.1 组件(Component)1.2 规则(Rule)1.3 上下文(Conte