Hudson 持续集成引擎的使用

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

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

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

资源描述

July12011Hudson持续集成引擎的使用FamosODC平台项目组Confidential©2010iSoftStoneGroup.AllRightsReserved.TechTalk目录索引Hudson介绍Hudson工作原理Hudson主界面Hudson系统的基本配置使用Hudson构建项目Ant脚本编写及构建结果查看2Confidential©2010iSoftStoneGroup.AllRightsReserved.Hudson介绍Hudson是近年来应用得比较广泛的、扩展的、一个持续集成工具。什么是持续集成(ContinuousIntegration)?持续集成(CI)是一种实践,可以让团队在持续的基础上收到反馈并进行改进,不必等到开发周期后期才寻找和修复缺陷。通俗一点儿说,就是指对于开发人员的每一次代码提交,都自动地把Repository中所有代码Checkout到一个空目录,并且自动运行所有TestCase。如果成功则接受这次提交,否则告诉所有人,这是一个失败的Revision。Hudson应用场景:1.持续、自动地构建/测试软件项目。2.监控一些定时执行的任务。官方网站:©2010iSoftStoneGroup.AllRightsReserved.Hudson介绍Hudson有哪些特性?易于安装:只要把hudson.war部署到servlet容器,不需要数据库支持。易于配置:所有配置都是通过其提供的web界面实现。集成RSS/E-mail/IM:通过RSS发布构建结果或当构建失败时通过e-mail实时通知。生成JUnit/TestNG测试报告分布式构建支持:Hudson能够让多台计算机一起构建/测试。文件识别:Hudson能够跟踪哪次构建生成哪些jar,哪次构建使用哪个版本的jar等。插件支持:Hudson可以通过插件扩展,你可以开发适合自己团队使用的工具。4Confidential©2010iSoftStoneGroup.AllRightsReserved.TechTalk目录索引Hudson介绍Hudson工作原理Hudson主界面Hudson系统的基本配置使用Hudson构建项目Ant脚本编写及构建结果查看5Confidential©2010iSoftStoneGroup.AllRightsReserved.Hudson工作原理6[1]程序员通过SVN客户端提交代码[2]Hudson用svnupdate命令从svn中更新代码到本地[3]Hudson调用项目里的Ant或者Maven脚本进行构建。构建结束,生成报告并记录日志,发送结果。[4]用户可随时通过浏览器在Hudson上浏览构建结果Ant才是构建工作的核心,而Hudson则相当于一个调度者、管理者Confidential©2010iSoftStoneGroup.AllRightsReserved.TechTalk目录索引Hudson介绍Hudson工作原理Hudson主界面Hudson系统的基本配置使用Hudson构建项目Ant脚本编写及构建结果查看7Confidential©2010iSoftStoneGroup.AllRightsReserved.Hudson主界面8Confidential©2010iSoftStoneGroup.AllRightsReserved.TechTalk目录索引Hudson介绍Hudson工作原理Hudson主界面Hudson系统的基本配置使用Hudson构建项目Ant脚本编写及构建结果查看9Confidential©2010iSoftStoneGroup.AllRightsReserved.Hudson系统的基本配置Hudson工作目录JDK[JAVA_HOME](必要条件)ANT[ANT_HOME]/Maven[MAVEN_HOME](二选一)Subversion/CVS(二选一)Mail(SendMail/Postfix)启用安全[可选]10Confidential©2010iSoftStoneGroup.AllRightsReserved.TechTalk目录索引Hudson介绍Hudson工作原理Hudson主界面Hudson系统的基本配置使用Hudson构建项目Ant脚本编写及构建结果查看11Confidential©2010iSoftStoneGroup.AllRightsReserved.使用Hudson构建项目12Howtocreateanewproject?Confidential©2010iSoftStoneGroup.AllRightsReserved.使用Hudson构建项目13EdittheinformationofprojectConfidential©2010iSoftStoneGroup.AllRightsReserved.使用Hudson构建项目ProjectName:工程名称,可随便修改,不是在Eclipse中创建工程时的那个工程名,但允许与其同名。Description:对构建工程的一些说明和描述信息,可以留空,也可以是任意的HTML标记语言。Discardoldbuilds:抛弃旧的构建。Hudson默认保留过去的构建信息。Thisbuildisparameterized:如果选择此选项,Hudson将允许您提供一套任意的键值对(key=value)参数,它们会被传递到构建过程里。配置的参数往往是构建运行环境中的一些环境变量。DisableBuild:禁用工程构建。Executeconcurrentbuildsifnecessary:并发构建工程。[测试版功能,慎用]14ParametersofprojectConfidential©2010iSoftStoneGroup.AllRightsReserved.使用Hudson构建项目15SubversionSettingsConfidential©2010iSoftStoneGroup.AllRightsReserved.使用Hudson构建项目RepositoryURL:源码仓库的URL地址,例如其他/HudsonProjLocalmoduledirectory[可选]:设定本地目录,但它相对于Hudson的工作空间目录。默认是“.”,目录名URL设置。Repositorydepthoption:infinity、empty、files、immediates,默认infinity。Ignoreexternalsoption:忽略额外参数Check-outStrategy:代码检出策略,默认use‘svnupdate’asmuchaspossibleRepositorybrowser:默认AutoSVN验证16ParametersofSubversionConfidential©2010iSoftStoneGroup.AllRightsReserved.使用Hudson构建项目17SubversionAuthenticationConfidential©2010iSoftStoneGroup.AllRightsReserved.使用Hudson构建项目Buildafterotherprojectsarebuilt:构建依赖,需指定其它projects的name;多个项目名间用逗号分隔。Buildperiodically:定期(周期性的)静态执行构建任务,不检查源码仓库是否有变化。PollSCM:轮询调度构建任务。每次执行构建前会检查源码仓库是否有变化,有变化则先执行代码更新,然后再执行构建。18TriggersConfidential©2010iSoftStoneGroup.AllRightsReserved.使用Hudson构建项目Schedule的配置规则是有4个空格隔开的字符组成,从左到右分别代表:分时天月年;“*”代表所有。[举例:]012,20***在每天的12点整和20点整进行一次构建。0,15,30,45****每隔15分钟进行一次构建注:同一时间级别的多个值间用逗号隔开19ScheduleUsageConfidential©2010iSoftStoneGroup.AllRightsReserved.使用Hudson构建项目20Executeshell:执行Shell脚本进行构建Invoketop-levelMaventargets:调用Maven进行构建ExecuteWindowsbatchcommand:批处理进行构建InvokeAnt:调用Ant对工程进行构建BuildProjectwithAntConfidential©2010iSoftStoneGroup.AllRightsReserved.使用Hudson构建项目21发布Checkstyle分析结果同时可构建其他工程统计测试结果发布单元测试报告生成JavaDoc邮件通知构建结果远程发布war/ear包√√√√BuildActionSettingsConfidential©2010iSoftStoneGroup.AllRightsReserved.TechTalk目录索引Hudson介绍Hudson工作原理Hudson主界面Hudson系统的基本配置使用Hudson构建项目Ant脚本编写及构建结果查看22Confidential©2010iSoftStoneGroup.AllRightsReserved.Ant脚本编写及构建结果查看1、下载、解压CheckStyle:、项目根目录下建立checkstyle_report.xml文件,文件内容设为空。3、在Ant构建脚本中配置使用CheckStyle!–指定checkstyle.jar包的路径--propertyname=CHECKSTYLEvalue=/root/.hudson/thirdLibs/checkstyle-5.3-all.jar/!–指定checkstyle配置文件的路径--propertyname=CHECKSTYLE_CONFIGvalue=/root/.hudson/thirdLibs/sun_checks.xml/targetname=checkstyledescription=代码检查taskdefresource=checkstyletask.propertiesclasspath=${CHECKSTYLE}/checkstyleconfig=${CHECKSTYLE_CONFIG}classpath=${CHECKSTYLE}failureProperty=checkstyle.failurefailOnViolation=falseformattertype=xmltofile=checkstyle_report.xml/filesetdir=srcincludes=**/*.java//checkstyle/target23CheckStyleConfigurationConfidential©2010iSoftStoneGroup.AllRightsReserved.Ant脚本编写及构建结果查看24CheckStyleReportConfidential©2010iSoftStoneGroup.AllRightsReserved.Ant脚本编写及构建结果查看25要求源码包和测试代码包分离,便于打包时只抽取源码。CodingRequireaboutJUnitConfidential©2010iSo

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

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

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

×
保存成功