展开全部

主编推荐语

本书介绍了自动基础设施管理、数据迁移和虚拟化的使用等技术,每一种技术都阐述了关键问题,确定**佳实践,论证如何降低风险。

内容简介

《持续交付:发布可靠软件的系统方法》讲述如何实现更快、更可靠、低成本的自动化软件交付,描述了如何通过增加反馈,并改进开发人员、测试人员、运维人员和项目经理之间的协作来达到这个目标。《持续交付:发布可靠软件的系统方法》由三部分组成。第一部分阐述了持续交付背后的一些原则,以及支持这些原则的实践。第二部分是本书的核心,全面讲述了部署流水线。第三部分围绕部署流水线的投入产出讨论了更多细节,包括增量开发技术、高 级版本控制模式,以及基础设施、环境和数据的管理和组织治理。

《持续交付:发布可靠软件的系统方法》适合所有开发人员、测试人员、运维人员和项目经理学习参考。

目录

  • 版权信息
  • 对本书的赞誉
  • 译者序
  • 马丁·福勒序
  • 致谢
  • 前言
  • 引言
  • 读者对象及本书内容
  • 内容简介
  • 本书中的在线链接
  • 关于封面的插图
  • 版本记录
  • 第一部分 基础篇
  • 第1章 软件交付的问题
  • 1.1 引言
  • 1.2 一些常见的发布反模式
  • 1.3 如何实现目标
  • 1.4 收效
  • 1.5 候选发布版本
  • 1.6 软件交付的原则
  • 1.7 小结
  • 第2章 配置管理
  • 2.1 引言
  • 2.2 使用版本控制
  • 2.3 依赖管理
  • 2.4 软件配置管理
  • 2.5 环境管理
  • 2.6 小结
  • 第3章 持续集成
  • 3.1 引言
  • 3.2 实现持续集成
  • 3.3 持续集成的前提条件
  • 3.4 使用持续集成软件
  • 3.5 必不可少的实践
  • 3.6 推荐的实践
  • 3.7 分布式团队
  • 3.8 分布式版本控制系统
  • 3.9 小结
  • 第4章 测试策略的实现
  • 4.1 引言
  • 4.2 测试的分类
  • 4.3 现实中的情况与应对策略
  • 4.4 流程
  • 4.5 小结
  • 第二部分 部署流水线
  • 第5章 部署流水线解析
  • 5.1 引言
  • 5.2 什么是部署流水线
  • 5.3 部署流水线的相关实践
  • 5.4 提交阶段
  • 5.5 自动化验收测试之门
  • 5.6 后续的测试阶段
  • 5.7 发布准备
  • 5.8 实现一个部署流水线
  • 5.9 度量
  • 5.10 小结
  • 第6章 构建与部署的脚本化
  • 6.1 引言
  • 6.2 构建工具概览
  • 6.3 构建部署脚本化的原则与实践
  • 6.4 面向JVM的应用程序的项目结构
  • 6.5 部署脚本化
  • 6.6 小贴士
  • 6.7 小结
  • 第7章 提交阶段
  • 7.1 引言
  • 7.2 提交阶段的原则和实践
  • 7.3 提交阶段的结果
  • 7.4 提交测试套件的原则与实践
  • 7.5 小结
  • 第8章 自动化验收测试
  • 8.1 引言
  • 8.2 为什么验收测试是至关重要的
  • 8.3 创建验收测试
  • 8.4 应用程序驱动层
  • 8.5 实现验收测试
  • 8.6 验收测试阶段
  • 8.7 验收测试的性能
  • 8.8 小结
  • 第9章 非功能需求的测试
  • 9.1 引言
  • 9.2 非功能需求的管理
  • 9.3 如何为容量编程
  • 9.4 容量度量
  • 9.5 容量测试环境
  • 9.6 自动化容量测试
  • 9.7 将容量测试加入到部署流水线中
  • 9.8 容量测试系统的附加价值
  • 9.9 小结
  • 第10章 应用程序的部署与发布
  • 10.1 引言
  • 10.2 创建发布策略
  • 10.3 应用程序的部署和晋级
  • 10.4 部署回滚和零停机发布
  • 10.5 紧急修复
  • 10.6 持续部署
  • 10.7 小贴士和窍门
  • 10.8 小结
  • 第三部分 交付生态圈
  • 第11章 基础设施和环境管理
  • 11.1 引言
  • 11.2 理解运维团队的需要
  • 11.3 基础设施的建模和管理
  • 11.4 服务器的准备及其配置的管理
  • 11.5 中间件的配置管理
  • 11.6 基础设施服务的管理
  • 11.7 虚拟化
  • 11.8 云计算
  • 11.9 基础设施和应用程序的监控
  • 11.10 小结
  • 第12章 数据管理
  • 12.1 引言
  • 12.2 数据库脚本化
  • 12.3 增量式修改
  • 12.4 数据库回滚和无停机发布
  • 12.5 测试数据的管理
  • 12.6 数据管理和部署流水线
  • 12.7 小结
  • 第13章 组件和依赖管理
  • 13.1 引言
  • 13.2 保持应用程序可发布
  • 13.3 依赖
  • 13.4 组件
  • 13.5 管理依赖关系图
  • 13.6 管理二进制包
  • 13.7 用Maven管理依赖
  • 13.8 小结
  • 第14章 版本控制进阶
  • 14.1 引言
  • 14.2 版本控制的历史
  • 14.3 分支与合并
  • 14.4 DVCS
  • 14.5 基于流的版本控制系统
  • 14.6 主干开发
  • 14.7 按发布创建分支
  • 14.8 按功能特性分支
  • 14.9 按团队分支
  • 14.10 小结
  • 第15章 持续交付管理
  • 15.1 引言
  • 15.2 配置与发布管理成熟度模型
  • 15.3 项目生命周期
  • 15.4 风险管理流程
  • 15.5 常见的交付问题、症状和原因
  • 15.6 符合度与审计
  • 15.7 小结
  • 参考书目
展开全部

评分及书评

4.6
7个评分
  • 用户头像
    给这本书评了
    5.0
    持续集成是一种方法论

    这本书是公司在培训时,老师推荐的一本书。


    我自己在工作当中,就会每天用到持续集成,单元测试,所以相比于一两年前,我现在更加能够接受书中的观点和内容。
    这本书是一本大部头,很厚重,内容也非常详实。
    如果你只是初步想了解持续交付的概念,那么可以快速翻阅本书,将各个章节的题目有一个大概的印象。如果你在工作中就会用到持续交付,那么其中的一些章节可以重点研读,一定会让你受益匪浅。
    书中有一张流程图,清晰的解释了持续交付的过程:
    1. 交付团队
    2. 版本控制库
    3. 构建和单元测试
    4. 自动化验收测试
    5. 用户验收测试
    6. 发布
    无论是大团队,还是小项目组,持续交付都有其用武之地。所以,不要因为你的项目小,初期就不重视集成交付的流程。那样的话,你在后期的开发中,当项目变得越来越大时,会苦不堪言。
    最后,总结一下,持续交付其实不仅是一套标准的软件开发效率流程,更是一种思想。即使当我们的项目需要紧急修复 bug 时,也不应该随便破坏持续交付的过程,匆忙上线一个打了补丁的临时版本。在任何时刻,都应该遵循持续交付的流程。这样的习惯和做法,其实反而是最高效的。
    希望大家也能将持续交付的思想和具体部署流程应用到自己的工作生活当中,相信你一定会大有收获。

      1
      评论
      用户头像
      给这本书评了
      5.0

      关于如何有效开发程序的经验书籍,对于开发团队很有帮助。

        转发
        评论
        用户头像
        给这本书评了
        4.0

        总体来说是一本好书。这本书把流水线这个事情讲的挺清楚。但是涉及了太多的话题,有很多地方没看懂。

          转发
          评论

        出版方

        人民邮电出版社·图灵出品

        图灵社区成立于2005年6月,由人民邮电出版社投资控股,以策划出版高质量的科技书籍为核心业务,主要出版领域包括计算机、电子电气、数学统计、科普等,通过引进国际高水平的教材、专著,以及发掘国内优秀原创作品等途径,为目标读者提供一流的内容。