《持续交付》第三章 持续交付

实现持续集成

1. 先决条件

  • 版本控制。与项目相关的内容都必需提交到一个版本控制库中,包括产品代码、数据库脚本、构建与部署脚本,以及所有用于创建、安装、运行和测试该应用程序的东西
  • 自动化构建。人和计算机都能通过命令行自动执行应用的构建、测试以及部署过程
  • 团队共识。需要开发团队能够给予一定的投入并遵守一些准则,需要每个人都能以小步提交的方式频繁地将修改后的代码提交到主干上,并一致认同“修改破坏应用程序的任意修改是最高优先级的任务”

2. 一个基本的持续集成系统

  • 满足先决条件
  • 选择并安装好持续集成工具
  • 进行相应配置
持续集成的前提条件
  • 频繁提交
  • 创建全面的自动化测试套件
    单元测试,组检测试,验收测试
  • 保持较短的构建和测试过程
  • 管理开发工作区
    细心的配置管理,对第三方依赖的配置管理,确保自动化测试都能在开发机上运行
使用持续集成软件

1. 基本操作
持续集成软件包括两部分:
一个一直运行的进程。每隔一段时间就执行一个简单的工作流程
提供展现这个流程运行结果的视图。通知你构建和测试成功与否
通常,持续集成工作流以规定的时间间隔对版本控制系统进行轮询
2. 铃声和口哨
可以将最近一次的构建状态发送到一个外部设备上,让构建状态可视化
可以在构建过程中对源代码进行一些分析工作
可以将工作分发到构建网络中,并管理这些构建以及依赖集合

必不可少的实践
  • 构建失败之后不要提交新代码
  • 提交前在本地运行所有的提交测试,或者让持续集成服务器完成此事
  • 等提交测试通过后再继续工作
  • 结束每天工作前,构建必需处于成功状态
  • 时刻准备着回滚到前一个版本
  • 再回滚之前要规定一个修复时间
  • 不要将失败的测试注释掉
  • 为自己导致的问题负责
  • 测试驱动的开发

总结
  • 频繁提交代码到主干
  • 保证版本控制库中的代码都是可成功运行的代码
  • 在每次提交代码之前都要运行测试,测试运行通过后才能继续工作
  • 测试驱动开发
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,638评论 25 708
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,009评论 19 139
  • 听说北方有红高粱, 大口灌酒的汉子, 性格泼辣的妹子, 我准备了行囊, 想去看看遥远的北方。 现在还有点冷, 我怕...
    江南一帅阅读 139评论 0 4
  • 晒红包,晒业绩。春节也过去了,我们要撸起袖子好好干了。展望2017,我们自然要回望2016年,总结成绩,进行年度盘...
    此木无为阅读 632评论 1 1
  • 2009年的农历年前,德芬老师从内地回台湾。 她某天早上要去中坜上一堂课,但中午必须赶回台北参加一个推不掉的餐会。...