《使用hudson做代码规范检查.ppt》由会员分享,可在线阅读,更多相关《使用hudson做代码规范检查.ppt(20页珍藏版)》请在三一办公上搜索。
1、使用hudson做代码规范检查,胡正林南京 2012-7-6,项目中集成checkstyle,基本属性配置,执行checkstyle任务的ant脚本,Checkstyle依赖包,根据checkstyle结果生成html的xsl脚本,代码检查规范,基本属性配置说明,文件列表,checkstyle.results.dir=checkstyle-resultscheckstyle.rules=emagsoftware_checks.xmlcheckstyle.xsl=checkstyle-noframes-severity-sorted.xslcheckstyle.cache.file=checks
2、tyle-cachesource.dir=./src,项目中集成checkstyle Ant脚本,定义checkstyle ant 任务,执行checkstyle ant 任务,Checkstyle结果报告,生成html报告,项目中集成checkstyle 执行,Hudson介绍 Hudson工作原理 Hudson主界面 Hudson系统的基本配置 使用Hudson构建项目,Hudson,Hudson 是近年来应用得比较广泛的、扩展的、一个持续集成工具。什么是持续集成(Continuous Integration)?持续集成(CI)是一种实践,可以让团队在持续的基础上收到反馈并进行改进,不必等
3、到开发周期后期才寻找和修复缺陷。通俗一点儿说,就是指对于开发人员的每一次代码提交,都自动地把Repository中所有代码Check out到一个空目录,并且自动运行所有Test Case。如果成功则接受这次提交,否则告诉所有人,这是一个失败的Revision。Hudson应用场景:1.持续、自动地构建/测试软件项目。2.监控一些定时执行的任务。官方网站:http:/hudson-ci.org/,6,Hudson 介绍,Hudson有哪些特性?易于安装:只要把hudson.war部署到servlet容器,不需要数据库支持。易于配置:所有配置都是通过其提供的web界面实现。集成RSS/E-mai
4、l/IM:通过RSS发布构建结果或当构建失败时通过e-mail实时通知。生成JUnit/TestNG测试报告分布式构建支持:Hudson能够让多台计算机一起构建/测试。文件识别:Hudson能够跟踪哪次构建生成哪些jar,哪次构建使用哪个版本的jar等。插件支持:Hudson可以通过插件扩展,你可以开发适合自己团队使用的工具。,Hudson 介绍,8,Ant才是构建工作的核心,而Hudson则相当于一个调度者、管理者,Hudson工作原理,Hudson 主界面,Hudson 基本配置,Hudson工作目录JDK JAVA_HOME(必要条件)ANT ANT_HOME/Maven MAVEN_H
5、OME(二选一)Subversion/CVS(二选一)Mail(SendMail/Postfix)启用安全可选,Hudson 基本配置,使用Hudson 构建项目,How to create a new project?,Edit the information of project,使用Hudson 构建项目,Project Name:工程名称,可随便修改,不是在Eclipse中创建工程时的那个工程名,但允许与其同名。Description:对构建工程的一些说明和描述信息,可以留空,也可以是任意的HTML标记语言。Discard old builds:抛弃旧的构建。Hudson默认保留过去的
6、构建信息。This build is parameterized:如果选择此选项,Hudson将允许您提供一套任意的键值对(key=value)参数,它们会被传递到构建过程里。配置的参数往往是构建运行环境中的一些环境变量。Disable Build:禁用工程构建。Execute concurrent builds if necessary:并发构建工程。测试版功能,慎用,Parameters of project,使用Hudson 构建项目,Subversion Settings,使用Hudson 构建项目,Build after other projects are built:构建依赖,需
7、指定其它projects 的name;多个项目名间用逗号分隔。Build periodically:定期(周期性的)静态执行构建任务,不检查源码仓库是否有变化。Poll SCM:轮询调度构建任务。每次执行构建前会检查源码仓库是否有变化,有变化则先执行代码更新,然后再执行构建。,Schedule的配置规则是有4个空格隔开的字符组成,从左到右分别代表:分 时 天 月 年;“*”代表所有。举例:0 12,20*在每天的12点整和20点整进行一次构建。0,15,30,45*每隔15分钟进行一次构建注:同一时间级别的多个值间用逗号隔开,Schedule Usage,Execute shell:执行Shell脚本进行构建Invoke top-level Maven targets:调用Maven进行构建Execute Windows batch command:批处理进行构建Invoke Ant:调用Ant对工程进行构建,Build Project with Ant,CheckStyle Report,CheckStyle Report,