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安装完毕,其中还有部分功能有待大家去研究和使用,插件也丰富多彩。

Hudson可扩展持续集成引擎的更多相关文章
- Hudson + SVN + Maven 持续集成实现自动化编译、打包、部署(over SSH 和 Deploy war/ear to a container 两种部署方式)
下载hudson ,安装部署http://hudson-ci.org/ 将下载的hudson-3.3.3.war放到tomcat的webapps目录下并启动tomcat,输入地址访问 点击Instal ...
- Jenkins 2.26 发布,可扩展的持续集成引擎
Jenkins 2.26 发布了.Jenkins 主要用于持续.自动地构建/测试软件项目,如CruiseControl与DamageControl,监控一些定时执行的任务.更新内容: Allow Co ...
- 持续集成篇 --Hudson持续集成服务器的安装配置与使用
样例项目参考视频教程:http://www.roncoo.com/course/view/85d6008fe77c4199b0cdd2885eaeee53 IP:192.168.4.221 8G内存 ...
- Hudson持续集成服务器的安装配置与使用
Hudson只是一个持续集成服务器(持续集成工具),要想搭建一套完整的持续集成管理平台, 还需要用到前面课程中所讲到的 SVN.Maven.Sonar等工具,按需求整合则可. 1.安装 JDK并配置 ...
- Dubbo入门到精通学习笔记(六):持续集成管理平台之Hudson 持续集成服务器的安装配置与使用
文章目录 安装Hudson 使用Hudson tips:自动化部署 附录:两个脚本 安装Hudson IP:192.168.4.221 8G 内存(Hudson 多个工程在同时构建的情况下比较耗内存) ...
- Hudson持续集成管理平台搭建
IP: 10.0.70.106 8G 内存 (Hudson 多 个 工程 在 同 时 构建 的情况下 比 较耗内存) 环 境: CentOS 6.5 . JDK7 注:Hudson 只是一个持续集成 ...
- 持续集成工具hudson【转载】
第一节 我的理解 项目中使用了hudson,那么hudson是处在怎样的一个地位呢? 首先就我自己的认知,项目中hudson的作用有一下几点: 1.获取svn服务器上的最新代码: 2.把最新代码编译打 ...
- Jenkins+Gradle实现android开发持续集成、打包
Jenkins简介 Jenkins 是一个开源项目,提供了一种易于使用的持续集成系统,使开发者从繁杂的集成中解脱出来,专注于更为重要的业务逻辑实现上.同时 Jenkins 能实施监控集成中存在的错误, ...
- Jenkins持续集成【简介】
1.1 目前主流网站部署的流程 目前主流网站部署方法,通过Hudson/Jenkins工具平台实现全自动部署+测试,是一个可扩展的持续集成引擎,是一个开源软件项目,旨在提供一个开放易用的软件平台 ...
随机推荐
- poj 3261 二分答案+后缀数组 求至少出现k次的最长重复子序列
#include "stdio.h" #define maxn 20010 int wa[maxn],wb[maxn],wv[maxn],ws[maxn]; int rank[ma ...
- 洛谷P1202 [USACO1.1]黑色星期五Friday the Thirteenth
题目描述 13号又是一个星期五.13号在星期五比在其他日子少吗?为了回答这个问题,写一个程序,要求计算每个月的十三号落在周一到周日的次数.给出N年的一个周期,要求计算1900年1月1日至1900+N- ...
- UVA 11527 Unique Snowflakes
用STL做会很方便 SET: /*by SilverN*/ #include<iostream> #include<algorithm> #include<cstring ...
- 获取IplImage 数据并打印
int main(int argc, char* argv[]){ IplImage *img=cvLoadImage("c://fruitfs.bmp",1); CvSca ...
- 代码重构-2 简单不变的 if else 用字典代替
原代码 private string GetExDesc(string lotteryCode) { string exDesc = "抽奖"; if (lotteryCode.T ...
- Linux下/proc目录简介
文章转载至:http://blog.csdn.net/zdwzzu2006/article/details/7747977 1. /proc目录Linux 内核提供了一种通过 /proc 文件系统,在 ...
- 理解模板引擎Razor 的原理(转载)
Razor是ASP.NET MVC 3中新加入的技术,以作为ASPX引擎的一个新的替代项.简洁的语法与.NET Framework 结合,广泛应用于ASP.NET MVC 项目.Razor Pad是一 ...
- Android Studio-设置switch/case代码块自动补齐
相信很多和我一样的小伙伴刚从Eclipse转到Android Studio的时候,一定被快捷键给搞得头晕了,像Eclipse中代码补齐的快捷键是Alt+/ ,但是在AS中却要自己设置,这还不是问题的关 ...
- .Net开源工作流Roadflow的使用与集成(转)
序言 最近公司要整理公司内部oa系统,需要使用到工作流,所以就开始了开源工作流挑选,使用,到集成到公司内部系统的工作. 首先在网上搜了文档,自己也有补充,整理啦国内几款工作流的比较,由于没有个个击破式 ...
- app内嵌web的一些问题记录
问题(1)webview里面出现大图预览,点击手机上的返回,应该是图片预览消失 问题(2)键盘输入的时候,键盘会把输入框遮挡 ------------------------------------- ...