Hudson的配置及使用

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

机密Hudson在安迪泰2011-2-18机密什么是持续集成什么是持续集成(ContinuousIntegration)持续集成的一个比较简单的定义如下:持续集成(CI)是一种实践,可以让团队在持续的基础上收到反馈并进行改进,不必等到开发周期后期才寻找和修复缺陷。通俗一点儿说,就是指对于开发人员的每一次代码提交,都自动地把Repository中所有代码Checkout到一个空目录,并且自动运行所有TestCase。如果成功则接受这次提交,否则告诉所有人,这是一个失败的Revision。工具与过程尽管CI实际上是一个过程,但是持续集成这个词常常与一个或多个工具相关联。在此次培训中,讲解如何安装、配置和使用Hudson作为CI服务器,但是要记住,CI远不只是个工具。实际上,使用的工具可能是CI比较次要的方面,因为CI工具所做的仅仅是在代码存储库中探测到修改时运行构建。构建过程本身比用来运行它的工具重要得多开始使用CI需要三个组件:用Ant或Maven等工具建立的自动构建过程一个代码存储库,比如CVS或Subversion一个CI服务器,比如Hudson机密Hudson简介Hudson是一种革命性的开放源码CI服务器,它从以前的CI服务器吸取了许多经验教训。Hudson最吸引人的特性之一是它很容易配置:很难找到更容易设置的CI服务器,也很难找到开箱即用特性如此丰富的CI服务器。Hudson容易使用的第二个原因是它具有强大的插件框架,所以很容易添加特性。例如,Hudson可以报告测试结果的趋势(来自JUnit或TestNG)以及构建结果和对应的执行时间。机密Hudson的优势持续自动的构建/测试软件项目监控一些定时任务易于安装-只要把Hudson。War部署到servlet容器,不需要数据库的支持。易于配置-所有的配置都是通过其提供的web页面实现。集成E-mail,当构建失败时通过e-mail实时通知。生成Junit/TestNG测试报告。插件支持-Hudson可以通过插件的扩展,你可以开发适合自己团队使用的工具。机密Hudson的启动方式Hudson需要运行Java5,运行Hudson有两种方式:1.可以使用命令启动hudson。步骤:首先下载hudson.war(),然后可以在一个盘符下建立一个文件夹,如D:\hudson,然后将这个路径设置环境变量,Hudson_Home=D:\hudson,最后使用命令java-jarhudson.war启动hudson.2.将Hudson部署到Tomcat容器下运行,知测系统在使用hudson的过程中使用的第二种方法来运行hudson的,下面进行逐一的介绍.机密Tomcat下部署Hudson安装Tomcat6.0,将Hudson的war包放入Tomcat安装目录下的webapps文件夹中,启动Tomcat,这时在Tomcat的webapps文件夹下会自动生成一个hudson的文件夹,这时Hudson就可以在tomcat下运行了。Hudson的启动界面:启动Tomcat6.0,浏览器中输入机密Hudson的整体配置首先对hudson进行整体的配置,这里的配置可以应用的Hudson的所有项目中。Quietperiod这个值是表示你可以让你的构建有等待时间,以防止在提交代码的过程中去开始构建。Enablesecurity是hudson权限的相应设置,其下的Project-basedMatrixAuthorizationStrategy这里可以设置项目参与者每个人不同的权限,如Read,Delete,Configure,Create等,TCPportforJNLPslaveagents:可以设定JNLP的端口,我的选择是Disable。JDKs,shell,Ant,Maven,CVS等等,也可以在这里设定。因为使用Hudson时一般都已经安装好了这些东西,所以不用勾选Installautomatically,只需在Add时指定名字和相应的HOME位置即可。因为在进行构建及测试等工作时,会占用大量内存,所以需要调整MAVEN_OPTS,可以调整全局MAVEN_OPTS,也可以为每个项目单独设置MAVEN_OPTS,例如,设置GlobalMAVEN_OPTS为-Xmx1024m-Xms512m。机密Hudson的整体配置E-mailNotification(1)SMTPserver--mail服务器地址(smtp.id5.cn)(2)Defaultusere-mailsuffix--邮件的后缀名(@id5.cn)(3)SystemAdminE-mail:管理员用户的邮件帐号(moyanjiao@id5.cn)(4)HudsonURL--访问hudson的URL:)机密Hudson的整体配置ManagePlugins:可以下载hudson支持的各种插件。如可以下载CVSTaggingPluginFTP-PublisherPluginVisualSourceSafePlugin等等,我就不在这里做一一的介绍了,具体这些插件有什么作用,可以在下载界面看具体描述。机密用Hudson来配置一个项目现在我来使用Hudson构建我们的第一个项目打开界面,选择NewJob选项,输入Jobname,并选择Buildafree-stylesoftwareproject,我是用ant来集成的一个构建环境,然后OK.机密Hudson配置下面就又要开始一一介绍这个界面了ProjectName在你建立项目的时候已经取过名字,如果你哪天想改名字,就在这里改就可以了。Description这里主要是对这个项目的描述,可以写项目的参与者,项目起止日期等等,可以说这个地方是美化界面+项目描述+提示信息等等DiscardOldBuilds(1)Daystokeepbuilds:是说你每次构建后的版本(可以在%hudson_home%/jobs/projectname/builds下面找到,如果你的目录下没有这个目录,说明你的构建还没有正式开始,即不存在构建记录),会保留的时长.(2)Max#ofbuildstokeep:是说你要保留最多多少个构建出来的版本机密Hudson的配置Thisbuildisparameterized:表示这个build是参数化的(目前为止我还没有用过这个选项,没有实践就没有发言权,我就不多说了),可以理解为在一个完整的构建中,这个构建过程需要依赖于某个第三方包,或者某个类,再或者某些特定的方法等.机密Hudson的配置DisableBuild:这个选项可以将某个构建项目临时性的停掉.比如我们有两个工程.TestJob和TestJob1,在两个工程启用一段时间后,TestJob1已经被临时性的停掉,但并不是真正意义上的废除。我们可以进入TestJob1配置界面,将此项选中即可。AdvancedProjectOptions:这里是表示你可以对你的项目构建进行一定的设置,它下面包括两个小的选项,1.Quietperiod:时间可以根据项目的需要来设定。这里的这个时间是说明从构建开始到项目真正开始构建之间的时间差,比如,我将此时间设为300S,说明TestJob在要开始构建之前会有5分钟的时间缓冲,这个是非常人性化的,因为如果有大量的代码需要提交,会需要很长时间,如果没有等待时间的话很容易出现少代码的情况导致整个构建过程的失败。2.Usecustomworkspace:这个地方你可以将可以对外公布的东西放在一个特定的目录下,然后把这里的值设成该目录,如:D:\hudson\jobs\TestJob\builds这样的话,这个目录下的东西是就公共的了机密Hudson的配置SourceCodeManagement:从名字上看就应该知道是什么意思了吧?这个选项是源码管理,当然也有很多的源码管理工具供你选择了,如CVS,SVN还有Hudson的插件,如VSS等等,详细的可以参考上面的一项专门介绍如何使用hudson的plugin的。我们以Subversion(俗称SVN)为例,向简单说一下。(1)ModulesRepositoryURL:这里是你要管理的代码在哪里的SVN库上(或者库的URL等等)。如:http;//192.168.70.106:8/SVN/project/_test(2)Localmoduledirectory(optional):这个是你要给你的项目选择一个本地的存放的目录。(3)Useupdate:这里选项勾上后,每次检测到库上有更新,就会使用svnupdate命令;如果没有勾上的话,那每次使用的是svncheckout命令。熟悉SVN的人都知道,小项目的话这两个区别不大,但如果是大项目的话,update要比checkout命令省相当多的时间。机密Hudson配置BuildTriggers:可以理解为你想以什么样的方式去触发你的构建,以其它构建成功后为基础,还是周期性的构建,还是根据pollSCM(变更触发)来触发构建。一般选择一项即可,我使用的是pollSCM。第一项:它是根据TestJob这个工程所依赖的其它项目构建成功为基础,如TestJob要依赖于Test这个项目(包括jar包啊,环境啊什么的),然后在Projectsnames里面填写它所依赖于的项目名称即可,如Test;第二项:是周期性构建,Hudson提供了一种语法,可以查看后面的help,要在Schedule里面使用这个语法,如我写成*****,这表示每分钟要构建一次,*/30****,则表示每隔30分钟进行一次构建。当然也可以设定年月日等日期;第三项:是根据检测的更新去执行构建。机密Hudson配置Build这里是Hudson构建部分的正式开始,也是心脏。我的项目是使用ant来实现的,当然我就选择InvokeAnt选项,从这里来看,好像你可以自己在这个界面上直接定义ant语法,我的是有专门的ant文件去执行某个target,也有一个总的build.xml将这些target连接起来,还自己写义了上些的properties文件,可以使用ant直接调用。里面定义了一些路径啊,常量啊什么的。Targets:当然这里我可以选择任意的啦,也可以不填写这里。(不填就会执行ant的默认Target)BuildFile:选择我的build.xml所在的位置。Properties:如果是自己在Hudson里面写ant的话,这里可以对一些常量进行定义,如路径名等等。JavaOptions:去定义java在运行时的一些参数,如-Xmx512m等等。机密Hudson的配置Post-buildActions这里也可以说是做一些发布啊,善后啊之类的,可以看到有mail,artifacts,publish之类的。(1)Archivetheartifacts可以指定archive的路径,如D:\hudson\jobs\TestJob\builds,Excludes可以排除上些你不想成为archive的东西,如*.bak,*.zip之类的。(2)Discardallbutthelastsuccessful/stableartifacttosavediskspace这个选项可以要也可以不要,但是如果你硬盘够大的话,这个选项还是不要勾的好,这样还可以去查看artifacts的历史。机密Buildotherprojects这里和上面的BuildTriggers的Buildafterotherprojectsarebuilt有一个承上启下的作用。可以定义在这个项目构建成功后去构建哪几个项目。Triggerevenifthebuildisunstable建议项目之间依赖特别强的不要勾此选项

1 / 23
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功