小Alan最近接了一个任务,就是使用Hudson进行持续集成,持续集成是怎么个概念,3言2语也说不清,有兴趣的童鞋去找我二奶度娘问问就知道了,说到Hudson就不得不提一下jenkins,目前来说用jenkins的应该要比Hudson多吧,毕竟jenkins的更新频率还是要比Hudson快,两者其实是五十步笑百步,会玩Hudson,jenkins也难不到哪去,所以jenkins暂时就不多介绍了。

在介绍Hudson之前给大家推荐一本书,这本书是来自许晓斌老师的《Maven实战》,本篇文章会借鉴该书的内容,小Alan也把这本书看完了,这是一本非常值得购买的书,作为一名程序猿可以买下来收藏。

接下来,让我们一起进入Hudson的世界:

第一步:安装Hudson

Hudson下载地址:http://hudson-ci.org/,下载完成后就能获得一个hudson.war文件,如图:

注意事项:Hudson必须运行在JRE1.5或更高的版本上。

最简单的启动方式是在命令行直接运行hudson.war(这里不演示这种方式,有兴趣的童鞋去找我二奶度娘问问就知道怎么玩了)。

Hudson.war顾名思义,既然是一个war文件,自然可以被部署到各种Web容器中,如Tomcat、Glassfish、Jetty及Jboss等。

这里以Tomcat7为例,只需要把Hudson.war扔到Tomcat的部署目录webapps下,然后去bin目录,运行startup.bat,如图:

待tomcat启动完成后,打开浏览器访问http://localhost:8080/hudson就能看到hudson的界面了。

首次运行Hudson会进入如下一个界面,要你选择你所需要安装的插件,选择好需要安装的插件后点击install或者finish,如图:

以后再次访问Hudson都会直接进入Hudson的首页,如图:

第二步:准备使用Hudson进行持续集成所需要的环境

①准备JDK运行环境:JDK环境还要我教你怎么搭建的话,你后面可以不用看下去了,作为一名猿,我是绝对不希望看见你这样的猿的,交配还得看基因好不好呢,好了不开玩笑了。

②准备Subversion仓库:在正式创建Hudson持续集成任务之前,需要准备好版本控制系统。常见的版本控制工具有CVS、Subversion、Git、Mercurial等。Subversion可能是当前使用范围最广的版本控制工具吧?反正我不知道大家喜欢用什么,但是我还是比较喜欢用Subversion,通俗点说就是SVN。SVN的安装我就不多扯了,我二奶度娘肯定知道的,没事多找我二奶谈谈人生,聊聊理想。

③准备项目管理框架:这里我会使用Maven,个人在工作的过程中觉得Maven真的是非常不错的,没用过的猿或者用过的猿都建议深入学习一下,Maven的安装也是so简单,别告诉我你不会,不会找一下我二奶度娘。

第三步:Hudson的基本系统设置

在创建Hudson持续集成任务之前,需要对Hudson系统做一些基本的配置,包括JDK安装位置和Maven安装位置,Hudson会使用这些配置好的JDK和Maven进行持续集成任务。也可以使用Ant或者Shell来持续集成项目,一样的要配置好安装位置。

点击Hudson首页左边的“系统管理”,然后单击页面右侧的“系统设置”以进入系统设置界面,如图:

在系统设置页面,首先要配置的是Hudson将使用的JDK。在页面中找到对应的部分,然后单击Add JDK按钮,Hudson就会提示用户进行安装。Hudson默认会提示自动安装JDK,可以看到Install automatically的复选框是被选上的,但是不建议自动安装,一般作为一个开发人员,本机上都是有JDK的,没必要花时间去等待Hudson再次下载JDK。手动输入本机JDK的位置(往往就是JAVA_HOME环境变量的值)。

可以配置多个JDK,需要项目支持多个不同版本JDK的时候非常有用,这里不多介绍。

Maven的配置与JDK类似,不再多说,如图:

最后,别忘了单击页面下方的Save按钮保存系统设置,如图:

第四步:创建Hudson任务

单击页面左边的新建任务,然后在页面右边选择任务的名称及类型。对于一般的maven项目来说,可选择的类型有Build a free-style software project和Build a maven2 project。前者不仅支持maven项目,还支持其它类型的构建工具,如Ant、Shell。这里我们选择第一种,这种方式更可控制,当任务出现问题的时候也更容易检查,如图:

输入任务名称,并选择free-style类型后,单击OK按钮即可进入详细的任务配置页面,如图:

第五步:Hudson任务的基本配置

首先是项目的名称和描述,接着是一个重要的选项Discard Old Builds。该选项配置如何抛弃旧的构建。Hudson每执行一次构建任务,就可以保存相应的源代码、构建输出、构建报告等文件。很显然,如果每次构建相关的文件都保存下来,将会渐渐耗光磁盘空间。为此,Hudson提供两种方式让用户选择保留哪些构建任务相关的文件,它们分别为:

□Days to keep builds:如果其值为非空的N,就仅保留N天之内的构建文件。

□Max # of builds to keep:如果#非空,就仅保留最多#个最近构建的相关文件。

如图,表示最多保留10个最近的构建,如图:

第六步:Hudson任务的源码仓库位置

接着需要配置项目的源码控制系统。在项目配置页面的Source Code Management部分,选择Subversion单选按钮,然后在Repository URL文本框中输入项目的Subversion仓库地址。一般来说,该部分的其他选项保留默认值即可(如果在界面没有看见这些东西,则说明Hudson Subversion Plug-in插件没有安装),如图:

需要注意的是,如果访问Subversion仓库需要认证,Hudson会自动探测并提示用户输入认证信息。因为我用的是局域网上的SVN,所以不需要认证,这里没有切实的图片给大家演示,如图:

单击enter credential后,Hudson会弹出一个页面让我们选择认证方式并输入认证信息。输入正确信息之后,Hudson就能读取仓库源代码了,如图采用用户名和密码的方式进行认证:

第六步:Hudson任务的构建触发配置

Build Triggers部分配置的是触发构建的方式。可选的三种方式分别为:

□Build after other project are built:在其他项目构建完成之后构建本项目。

□Build periodically:周期性地构建本项目。

□Poll SCM:周期性地轮询源码仓库,发现有更新的时候构建本项目。

我们选择第三种方式,也是最常用的构建方式,既然是轮询,就需要配置轮询的频率,Hudson使用了著名的UNIX任务调度工具Cron所使用 的配置方式。大家自己找我二奶度娘了解一下。如图:

我配置的是每隔15分钟轮询一次。

第七步:Hudson任务的构建配置

接下来要配置Hudson使用运行Maven命令构建项目。单击Build部分中的Add build step下三角按钮,然后选择Invoke Maven 3(如果没有看见这个,说明没有安装Hudson maven3 Plugin),如图:

这里就会默认使用我们在系统配置中配置的maven构建项目,指定好要运行的命令,如图:

需要注意的是,日常持续集成任务如果成功的话,都会生成快照版的项目构建。如果维护了一个私服,那么持续集成任务就应当自动将构建部署到私服中,供其他项目使用。单击最下方的Save按钮保存配置。这时,可以单击页面左边的“立即构建”来手动触发第一次集成。如图:

这样,一个简单的持续集成任务就配置成功了。

可爱博主:AlanLee

博客地址:http://www.cnblogs.com/AlanLee

本文出自博客园,欢迎大家加入博客园。

使用Hudson进行持续集成的更多相关文章

  1. Hudson(Jenkins)持续集成插件开发环境搭建

    Hudson持续集成插件开发环境搭建 第一步安装java jdk,至于版本的话推荐1.6以上吧.安装好jdk设置环境变量,确保你在cmd中输入java -version有提示你jdk的版本信息等,也就 ...

  2. Android+git+hudson+gradle持续集成

    linux 主机   android sdk安装忽略 jdk安装忽略 hudson安装忽略 gradle安装 1:下载相应的gradle(这里是gradle-2.10-all.zip)  2 :  解 ...

  3. Jenkins在Windows系统dotnet平台持续集成

            之前写过一篇文章是在CentOS上构建.net自动化编译环境, 今天这篇是针对于Windows平台的环境.        Jenkins是一个开源软件项目,旨在提供一个开放易用的软件平 ...

  4. HUDSON(Java开发的一种持续集成工具)

    Hudson是Jenkins的前身,是基于Java开发的一种持续集成工具,用于监控程序重复的工作,包括: 1.持续的软件版本发布/测试项目. 2.监控外部调用执行的工作. Hudson的特性 1.易于 ...

  5. Hudson可扩展持续集成引擎

    参考文章:http://blog.csdn.net/dazhi_100/article/details/11629133 极限编程中一项建议实践便是持续集成,持续集成是指在开发阶段,对项目进行持续性自 ...

  6. 利用Hudson持续集成来执行Android自动化测试(转)

    当你套用Athrun.Robotium等框架,针对自己的项目写完了一堆自动化测试脚本后,在Eclipse之外怎么让它们可以持续性地跑起来并展现报告呢? 据我了解,方便的方法大致有两个:其一,利用Hud ...

  7. Hudson+Maven+Svn搭建持续集成环境

    Hudson+Maven+Svn搭建持续集成环境 博客分类: 配置管理 mavenSVNTomcat项目管理配置管理 一.所用开发工具 1.    Hudson: Hudson 是一种革命性的开放源码 ...

  8. 持续集成环境(Hudson)搭建

    持续集成环境(Hudson)搭建 这是在公司写的,公司要求用英文,我也没时间翻译了.还请见谅! Hudson是个非常强大持续集成工具,配合svn,maven,sonar,redmine工具就更加完美了 ...

  9. 持续集成篇 --Hudson持续集成服务器的安装配置与使用

    样例项目参考视频教程:http://www.roncoo.com/course/view/85d6008fe77c4199b0cdd2885eaeee53 IP:192.168.4.221  8G内存 ...

随机推荐

  1. Quality 是什么?

    Quality 是什么? 通常,我们谈及 Quality(质量)时,最常见的问题就是:Quality 是什么? 有很多业界先驱和研究人员已经回答了这个问题,我在这里并不会再给出一个新的答案.在学习总结 ...

  2. ABP教程-对Person信息进行操作

    这一章的功能比较简单.下面开始 修改视图 对person的视图文件进行修改 <div class="row"> <div class="col-md-1 ...

  3. C# 云端-让http自动跳转到https链接

    在项目的web.config下面加上下面的配置: <rewrite> <rules> <clear /> <rule name="Redirect ...

  4. springMvc的搭建

    学习SpringMVC--从HelloWorld开始   前言: 时隔十二年,中国女排最终过关斩将,用3:1的成绩证明了自己的实力,霸气夺冠,为中国赢得了一枚意义非常的金牌.这是一次全民的狂欢,一场视 ...

  5. 百度API ; 很多有用的接口及公用 数据

    百度API : http://apistore.baidu.com/ . 比如手机号码:

  6. Android测试网络是否连接

    一.布局页面 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns ...

  7. 使用 Swagger 自动生成 ASP.NET Core Web API 的文档、在线帮助测试文档(ASP.NET Core Web API 自动生成文档)

    对于开发人员来说,构建一个消费应用程序时去了解各种各样的 API 是一个巨大的挑战.在你的 Web API 项目中使用 Swagger 的 .NET Core 封装 Swashbuckle 可以帮助你 ...

  8. 中文分词之结巴分词~~~附使用场景+demo(net)

    常用技能(更新ing):http://www.cnblogs.com/dunitian/p/4822808.html#skill 技能总纲(更新ing):http://www.cnblogs.com/ ...

  9. Oracle位图索引

    索引由KEY和Data组成 位图索引的KEY比普通非唯一性索引多包含一个组成部分,分区,分区是将数据按行由内部机制分段以达到比较好的检索效率 位图索引的Data中,该索引KEY中数据值在分区段中按行分 ...

  10. 使用Design包实现QQ动画侧滑效果和滑动菜单导航

    Google在2015的IO大会上,给我们带来了更加详细的Material Design设计规范,同时,也给我们带来了全新的Android Design Support Library,在这个supp ...