持续构建系统.ppt

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
持续构建系统

Continuous Building System 持续构建系统 持续构建的关键 持续构建的关键是完全的自动化,读取源代码、编译、测试,整个创建过程都应该自动完成。对于一次成功的创建,要求在这个自动化过程中的每一步都不能出错,只有最后通过测试的创建才是成功的创建 持续构建的功能 感知版本管理库的变化,如发现有变化,则进行集成。 调用项目编译脚本进行项目集成。并对集成结果进行单元测试、功能测试等。 将集成结果,测试结果发布至网站中。 将集成的结果以邮件等等方式通知相应的负责人。 项目对于构建的类型 定时构建。固定某一时间点进行构建。 持续构建。感知版本管理工具中的变化而进行自动集成。以一定的时间间隔感知源码库中源码的变化, 若库中有变化则开始构建,若库中无变化则继续等待。比如在我们的开源项目中,预设每隔两个小时对源码库进行扫描,如源码库中有变化则进行构建,若源码库无变化,则等待两个小时再对源码库进行扫描。 构建自动化 自动化构建指的是从获取源码,编译,自动化测试到构建成功的通知 自动化构建的类型 定时自动化构建,触发式自动化构建,命令式自动化构建 编写构建脚本的原则:构建的完整性,可重复性,可移植性 自动化构建工具 ant ,maven 构建脚本ant 主流构建脚本工具 ant,Maven Ant 的优势: 与平台无关性(ant使用Java语言编写,可以在任何装有Java虚拟机的操作系统上运行) 使用标准语法(XML) 具有丰富的功能集合及强大的可扩展性(可通过编写定制的Java类或者使用脚本语言和ant的BSF脚本引擎来扩展ant。 开放源码的工具 以实例简述持续构建的过程 构建项目目录 一个构建项目一般包含一下目录: SampleCCProject |---------src 源码目录 |---------lib 源码所调用到的第三方包目录 |---------resource 图片、properties文件、jsp等不需要编译 的文件 |---------build(临时目录) 构建过程中产生出来的中间文件,如classes |---------dist 构建完成够的结果文件。 |----------build.xml 构建文件。 |----------build.properties 定义全局设置属性 Build.xml build.xml 文件是项目的主 Ant 生成脚本。 Ant可以使用户通过配置一个XML文件快速开发创建和部署过程。实际上它提供了这样一个框架:允许开发人员编写一个XML文件来执行一系列的动作,并且由ant掌握执行的主线程。Ant是可扩展的,在ant中添加新特性是一件很容易的工作。同时还有一些第三方工具可以很好的与ant集成,甚至一些并不是专门为ant设计的工具也能与ant集成。 build.xml的几个主要任务: 干净构建: 初始化:删除和创建构建所需要的临时目录,删除上次构建说产生的.classes文件。 编译:编译源代码 删除:删除上次构建产生的文件 打包:把编译生成的文件压缩成JAR包 测试:对生成的JAR包进行单元、性能等测试 build.xml的几个主要任务: 增量构建: 初始化:创建构建所需要的临时目录 编译:编译源代码 删除:删除上次构建产生的文件 打包:把编译生成的文件压缩成JAR包 测试:对生成的JAR包进行单元、性能等测试 Cruisecontrol 、SVN和ant的集成 以SampleCCProject项目为例,简述集成过程 * * * * Operational Business Intelligence for Java Applications Zhu Junhong Jinfonet 2008.07.17 持续构建 持续集成 持续构建是持续集成中的一个重要组成部分 持续构建驱动持续集成 为自动测试和issue track系统提供 持续构建的含义 持续构建的含义是指开发团队中的每个成员都尽量频繁地把他们所做的工作更改合入到源码库中,并且还要验证新合入的变化没有造成任何破坏,构建成功标记构建基线.这里的库指的是版本控制工具(vss,cvs,svn,ClearCase等 )管理的软件源代码储存地。持续集成的频繁程度根据各项目团队的需求定制。 持续构建实施的要素 代码的一致性。访问单一源码库,将所有的源代码保存到源码库中,让所有人都能从这里获取最新的源代码。 构建脚本化。支持自动化创建脚本,使创建过程完全自动化

文档评论(0)

153****9595 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档