持续交付:发布可靠软件的系统方法(英文版)

978-7-115-40375-9
作者: 【英】Jez Humble(杰斯•亨布尔) David Farley(大卫•法利)
译者: 乔梁
编辑: 杨海玲

图书目录:

目录

Part I: Foundations / 基础篇 1

Chapter 1: The Problem of Delivering Software / 软件交付的问题 3

Introduction / 引言 3

Some Common Release Antipatterns / 一些常见的发布反模式 4

Antipattern: Deploying Software Manually / 反模式:手工部署软件 5

Antipattern:Deploying to a Production-like Environment Only after Development Is Complete / 反模式:开发完成之后才向类生产环境部署 7

Antipattern: Manual Configuration Management of Production Environments / 反模式:生产环境的手工配置管理 9

Can We Do Better / 我们能做得更好吗 10

How Do We Achieve Our Goal / 如何实现目标 11

Every Change Should Trigger the Feedback Process / 每次修改都应该触发反馈流程 13

The Feedback Must Be Received as Soon as Possible /  必须尽快接收反馈/ 14

The Delivery Team Must Receive Feedback and Then Act on It / 交付团队必须接收反馈并作出反应 15

Does This Process Scale / 这个流程可以推广吗 16

What Are the Benefits / 收效 17

Empowering Teams / 授权团队 17

Reducing Errors / 减少错误 18

Lowering Stress / 缓解压力 20

Deployment Flexibility / 部署的灵活性 21

Practice Makes Perfect / 多加练习,使其完 美 22

The Release Candidate / 候选发布版本 22

Every Check-in Leads to a Potential Release 23

Principles of Software Delivery / 软件交付的原则 24

Create a Repeatable,Reliable Process for Releasing Software / 为软件的发布创建一个可重复且可靠的过程 24

Automate Almost Everything / 将几乎所有事情自动化 25

Keep Everything in Version Control / 把所有的东西都纳入版本控制 26

If It Hurts, Do It More Frequently, and Bring the Pain Forward / 提前并频繁地做让你感到痛苦的事 26

Build Quality In / 内建质量 27

Done Means Released / “DONE”意味着“已发布” 27

Everybody Is Responsible for the Delivery Process / 交付过程是每个成员的责任 28

Continuous Improvement / 持续改进 28

Summary / 小结 29

Chapter 2: Configuration Management / 配置管理 31

Introduction / 引言 31

Using Version Control / 使用版本控制 32

Keep Absolutely Everything in Version Control / 对所有内容进行版本控制 33

Check In Regularly to Trunk / 频繁提交代码到主干 35

Use Meaningful Commit Messages / 使用意义明显的提交注释 37

Managing Dependencies / 依赖管理 38

Managing External Libraries / 外部库文件管理 38

Managing Components / 组件管理 39

Managing Software Configuration / 软件配置管理 39

Configuration and Flexibility / 配置与灵活性 40

Types of Configuration / 配置的分类 41

Managing Application Configuration / 应用程序的配置管理 43

Managing Configuration across Applications / 跨应用的配置管理 47

Principles of Managing Application Configuration / 管理配置信息的原则 47

Managing Your Environments / 环境管理 49

Tools to Manage Environments / 环境管理的工具 53

Managing the Change Process / 变更过程管理 53

Summary / 小结 54

Chapter 3: Continuous Integration / 持续集成 55

Introduction / 引言 55

Implementing Continuous Integration / 实现持续集成 56

What You Need Before You Start / 准备工作 56

A Basic Continuous Integration System / 一个基本的持续集成系统 57

Prerequisites for Continuous Integration / 持续集成的前提条件 59

Check In Regularly / 频繁提交 59

Create a Comprehensive Automated Test Suite / 创建全面的自动化测试套件 60

Keep the Build and Test Process Short / 保持较短的构建和测试过程 60

Managing Your Development Workspace / 管理开发工作区 62

Using Continuous Integration Software / 使用持续集成软件 63

Basic Operation / 基本操作 63

Bells and Whistles / 铃声和口哨 63

Essential Practices / 必不可少的实践 66

Don’t Check In on a Broken Build / 构建失败之后不要提交新代码 66

Always Run All Commit Tests Locally before Committing, or Get Your CI Server to Do It for You / 提交前在本地运行所有的提交测试,或者让持续集成服务器完成此事 66

Wait for Commit Tests to Pass before Moving On / 等提交测试通过后再继续工作 67

Never Go Home on a Broken Build / 回家之前,构建必须处于成功状态 68

Always Be Prepared to Revert to the Previous Revision / 时刻准备着回滚到前一个版本 69

Time-Box Fixing before Reverting / 在回滚之前要规定一个修复时间 70

Don’t Comment Out Failing Tests / 不要将失败的测试注释掉 70

Take Responsibility for All Breakages That Result from Your Changes /为自己导致的问题负责 70

Test-Driven Development / 测试驱动的开发 71

Suggested Practices / 推荐的实践 71

Extreme Programming (XP) Development Practices / 极限编程开发实践 71

Failing a Build for Architectural Breaches / 若违背架构原则,就让构建失败 72

Failing the Build for Slow Tests / 若测试运行变慢,就让构建失败 73

Failing the Build for Warnings and Code Style Breaches / 若有编译警告或代码风格问题,就让测试失败 73

Distributed Teams / 分布式团队 75

The Impact on Process / 对流程的影响 75

Centralized Continuous Integration / 集中式持续集成 76

Technical Issues /技

详情

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

图书摘要

相关图书

现代软件工程:如何高效构建软件
现代软件工程:如何高效构建软件
UML基础、案例与应用(第3版)(修订版)
UML基础、案例与应用(第3版)(修订版)
团队软件过程(修订版)
团队软件过程(修订版)
掌握需求过程(第3版)
掌握需求过程(第3版)
术以载道——软件过程改进实践指南
术以载道——软件过程改进实践指南
系统分析师UML项目实战
系统分析师UML项目实战

相关文章

相关课程