转载:http://somebody-hjh.iteye.com/blog/636182
极限编程中一项建议实践便是持续集成,持续集成是指在开发阶段,对项目进行持续性自动化编译、测试,以达到控制代码质量的手段。
持续集成提供了及时发现问题、追踪问题、修复问题的机制,他替代了传统的在所有代码编写完毕后才提交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入门介绍(结合Ant)” 在软件开发过程中,持续集成是一种重要的实践,它强调开发者频繁地将代码集成到主分支,以便尽早发现并解决潜在问题。Hudson作为一款开源的持续集成服务器,...
Hudson 是一个开源的持续集成工具,主要应用于软件开发过程中的自动化构建、测试和部署,以提高开发效率和确保代码质量。它的核心功能包括构建触发、构建历史记录、测试报告集成以及插件支持,使得开发者能够轻松地...
在IT行业中,持续集成(Continuous Integration,简称CI)是一种软件开发实践,旨在通过频繁地将代码集成到共享存储库来减少集成错误。它强调开发人员每天至少集成一次代码,并且每次集成都通过自动化构建和测试来...
- **定义**:Hudson 是一款开源持续集成(Continuous Integration,CI)服务器,旨在为软件开发团队提供自动化构建与测试的支持。通过持续集成的方式,Hudson 可以帮助团队快速发现并修复代码中的问题,提高开发效率...
Hudson 是一个开源的持续集成工具,主要用于自动化各种软件构建、测试和部署任务。这篇教程将引导你深入了解Hudson的安装、操作以及具体配置,帮助你快速入门。 **一、Hudson安装** 1. **系统需求**: 首先确保你的...
11. **Ant与持续集成**:简述Ant在持续集成工具(如Jenkins、Hudson)中的应用。 12. **实战案例**:提供实际项目构建的例子,帮助读者将理论知识应用于实践。 通过学习这本书,初学者将能够掌握Ant的基本操作,为...
Maven与持续集成工具如Hudson(现称Jenkins)配合使用,可以自动化构建、测试和部署过程。Hudson支持Maven2的构建任务,通过定时检查代码库的变更,自动触发构建,提供了一种高效的持续集成解决方案。 ### Maven...
Hudson是ABS的一个重要组成部分,它是一款开源的持续集成服务器,能够自动构建、测试和部署软件项目,极大地提高了开发效率和软件质量。 在这些压缩包文件中,我们可以找到关于淘宝ABS和Hudson的丰富资料,涵盖了从...
Hudson Easy Bundle 提供了一个便捷的解决方案,使得在封闭网络或独立系统中部署Hudson成为可能,降低了持续集成的入门门槛,提升了团队的开发效率。尽管如此,随着技术的发展,用户应定期关注项目的更新,以保持...
10. **持续集成与自动化构建**:Eclipse可以与Hudson、Jenkins等CI/CD工具配合,实现自动编译、测试和部署,提升开发流程的效率和质量。 这个压缩包中的14、13文件可能是第十四章和第十三章的代码示例,它们涵盖了...
10. **持续集成**:Eclipse可以与持续集成工具如Jenkins、Hudson等集成,实现自动化构建和测试。 总的来说,《Eclipse从入门到精通》会引导读者掌握Eclipse的各项基本操作,并逐步深入到高级特性,如插件开发、性能...
6. **持续集成**:Maven与CI工具如Hudson、Jenkins集成,使得持续集成变得更加便捷。 7. **质量控制**:可以与代码质量工具如Sonar集成,进行代码质量管理。 8. **插件生态**:Maven拥有丰富的插件生态系统,可以...
2. GitLab/CircleCI:集成了代码托管、持续集成/持续部署(CI/CD)功能,方便自动化测试。 七、挑战与注意事项 1. 维护成本:自动化测试脚本需要随着软件变化而更新,需合理规划,避免过度依赖。 2. 技能要求:自动...
**4.2 持续集成与Hudson** - **持续集成**:通过自动化的方式持续构建和测试代码,确保项目的质量。 - **Hudson/Jenkins配置**:配置Hudson/Jenkins与Maven的集成,实现自动化的构建和部署。 **4.3 构建Web应用** ...
对于已经有一定Maven使用经验的开发者,书中也提供了丰富的高级知识,包括使用Nexus建立私有仓库、使用Hudson进行持续集成等,这些都是在企业项目中常见的应用实践。此外,书中还包含了如何编写Maven插件和Archetype...
- **持续集成**:结合Hudson等工具实现持续集成,确保代码质量和稳定性。 - **Web应用构建**:Maven可以用于构建复杂的Web应用程序,支持多种框架和技术栈。 - **版本管理**:Maven支持项目版本的管理,包括快照版本...
在持续集成环境中,Ant常与Jenkins、 Hudson等工具结合使用,自动执行构建和测试任务。这提高了开发效率,确保每次代码更改后都能快速验证构建的正确性。 综上所述,Ant作为Java开发中的构建工具,提供了强大的灵活...
Jenkins是一个广泛使用的自动化服务器,它主要被用作持续集成/持续部署(CI/CD)的工具。它可以帮助软件团队自动化测试和构建软件,从而加速软件开发过程。Jenkins最初是作为Hudson的分支出现的,2011年由于项目分歧...
5. **持续集成**:项目支持Maven构建,并提供了持续集成的配置模板,方便开发者接入Jenkins或Hudson等持续集成工具。 6. **安全控制**:Springside提供了基于Spring Security的安全控制模块,可以快速实现用户认证...