图灵社区的电子书没有采用专有客 户端,您可以在任意设备上,用自 己喜欢的浏览器和PDF阅读器进行 阅读。 但您购买的电子书仅供您个人使用, 未经授权,不得进行传播。 我们愿意相信读者具有这样的良知 和觉悟,与我们共同保护知识产权。 如果购买者有侵权行为,我们可能 对该用户实施包括但不限于关闭该 帐号等维权措施,并可能追究法律 责任。 (2017.1重印) 内 容 提 要 本书讲述如何实现更快、更可靠、低成本的自动化软件交付,描述了如何通过增加反馈,并改进开发 人员、测试人员、运维人员和项目经理之间的协作来达到这个目标。本书由三部分组成。第一部分阐述了 持续交付背后的一些原则,以及支持这些原则的实践。第二部分是本书的核心,全面讲述了部署流水线。 第三部分围绕部署流水线的投入产出讨论了更多细节,包括增量开发技术、高级版本控制模式,以及基础 设施、环境和数据的管理和组织治理。 本书适合所有开发人员、测试人员、运维人员和项目经理学习参考。 ◆ 著 [英] Jez Humble David Farley 译 乔 梁 责任编辑 卢秀丽 执行编辑 毛倩倩 杨 爽 ◆ 人民邮电出版社出版发行 北京市丰台区成寿寺路11号 邮编 100164 电子邮件 315@ptpress.com.cn 网址 http://www.ptpress.com.cn 北京 印刷 ◆ 开本:800×1000 1/16 印张:24 字数:512千字 印数:16 501 — 17 300册 著作权合同登记号 2011年 10 月第 1 版 2017年 1 月北京第 12 次印刷 图字:01-2011-0727 号 定价:89.00元 读者服务热线:(010)51095186转600 印装质量热线:(010)81055316 反盗版热线:(010)81055315 广告经营许可证:京东工商广字第 8052 号 1 2 版权声明 Authorized translation from the English language edition, entitled Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation, 978-0-321-60191-9 by Jez Humble, David Farley, published by Pearson Education, Inc., publishing as Addison Wesley, Copyright © 2011 by Pearson Education, Inc. All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording or by any information storage retrieval system, without permission from Pearson Education, Inc. CHINESE SIMPLIFIED language edition published by PEARSON EDUCATION ASIA LTD. and POSTS & TELECOM PRESS Copyright © 2011. 本书中文简体字版由Pearson Education Asia Ltd. 授权人民邮电出版社独家出版。未经出版者 书面许可,不得以任何方式复制或抄袭本书内容。 本书封面贴有Pearson Education(培生教育出版集团)激光防伪标签,无标签者不得销售。 版权所有,侵权必究。 3 4 5 6 7 8 9 10 11 12 13 14 15 谨以此书献给我的父亲,他总是给予我无条件的爱与支持。 ——Jez 谨以此书献给我的父亲,他一直为我指明正确的方向。 ——David 对本书的赞誉 如果你需要频繁地部署软件,那么本书就是你所需要的。采用本书所描述的实践 会帮助你降低风险,克服工作的乏味,并增强信心。我会在我所有的项目中使用本书 所描述的原则与实践。 ——Kent Beck,三川研究室 不管你的软件开发团队是否已经明白持续集成就像源代码控制一样必不可少,本 书都是必读之物。本书不可多得地将整个开发和交付过程放在一起进行诠释,不仅提 到了技术与工具,而且提供了一种理念和一些原则。作者讲述的内容从测试自动化到 自动部署不一而足,能够满足读者的广泛需求。开发团队中的每个人,包括编程人员、 测试人员、系统管理员、DBA和管理者,都应该读一读这本书。 ——Lisa Crispin,Agile Testing: A Practical Guide for Testers and Agile Teams的作者之一 对于很多组织来说,持续交付不仅仅是一种部署方法,它对于开展业务也是至关 重要的。本书展示了如何在具体环境中让持续交付成为现实。 ——James Turnbull,Pulling Strings with Puppet: Configuration Management Made Easy的作者 这是一本清晰、准确、精心编写的书,力求让读者明白发布过程究竟应该是什么 样子。作者以渐进的方式一步步地阐述了软件部署中的理想状态与障碍。本书是每位 软件工程师的必备读物。 ——Leyna Cotran,加利福尼亚大学欧文分校软件研究所 Humble和Farley阐明了是什么使快速成长的Web应用取得成功。曾经颇具争议的持 续部署和交付已经成为司空见惯的技术,而本书出色地讲述了其中的方方面面。在很 多层面上,这都是开发和运维的交点,而他们正是瞄准了这一点。 ——John Allspaw, Etsy.com技术运营副总裁 The Art of Capacity Planning和Web Operations的作者 2 对本书的赞誉 如果你的业务就是构建和交付基于软件的服务,你一定会从本书清晰阐述的理念 中受益。而且,除了这些理念以外,Humble和Farley还为快速可靠地进行软件变更提供 了一份卓越的“剧本”。 ——Damon Edwards,DTO Solutions总裁,dev2ops.org网站主编之一 我相信,做软件的人拿起这本书,翻到任意一章,都会很快得到有价值的信息。 如果从头到尾仔细阅读,你就能根据所在组织的具体情况对构建和部署过程进行简化。 我认为,这是一本关于软件构建、部署、测试和发布的必备手册。 ——Sarah Edrie,哈佛商学院质量工程总监 对于现代软件团队来说,显然持续交付就是持续集成的下一步。本书以不断为客 户提供有价值的软件为目标,通过一套明确且有效的原则和做法使这一目标的实现成 为了可能。 ——Rob Sanheim,Relevance公司技术骨干 译 者 序 十年前,敏捷软件开发方法在国内还少有人知,现在却已渐成主流。持续集成作 为一个敏捷开发最佳实践,近年来也被广泛接受。然而,它们并没有很好地解决所谓 的“最后一公里问题”,即如何让软件从“开发完成”迅速实现“上线发布”。 本书的问世让这个问题有了答案。通过将敏捷和持续集成的理念应用到整个软件 生命周期中,利用各种敏捷原则与最佳实践打破了用户、交付团队及运维团队之间的 壁垒,让原本令人紧张、疲惫的软件发布过程变得轻松了,令原本枯燥易错的部署操 作已变得只需轻点鼠标即可完成。 本书首次从业务视角阐述了持续交付的必要性,并从现实问题出发,对软件交付 过程进行了彻底的剖析,指出了各交付环节所需遵守的原则与最佳实践,列举了各种 常见的反模式。书中的案例详实,贴近生产一线,读过之后,你一定会产生强烈的 共鸣。 本书为所有人带来了曙光: 作为IT部门的主管,当你发现这本书后,一定会觉得眼前豁然开朗; 作为项目经理,当你读完本书的前五章后,一定会觉得手中的项目不再令你望而 却步; 作为开发人员,当你在多个分支之间痛苦地解决着合并冲突时,本书中的配置管 理实践一定会让你觉得看到了希望; 作为测试人员,当你在各类测试间疲于奔命时,本书中的自动化测试章节一定会 令你觉得神清气爽; 作为运维人员,当你在为各类环境的维护而苦恼不休时,本书中的环境管理内容 一定会让你觉得心旷神怡。 持续交付以全面的版本控制和全面自动化为核心,通过各角色的紧密合作,力图 让每个发布都变成可靠且可重复的过程。 作为Cruise①的业务分析师,我暗自庆幸能和Cruise团队的其他成员一起见证这本书 的问世,并在Cruise整个研发过程里采用书中的诸多实践,为本书提供了素材。 —————————— ① Cruise是ThoughtWorks Studios 在2008年发布的一款持续集成与发布管理工具,现已更名为Go。 ——译者注 图灵社区会员 ChenyangGao(2339083510@qq.com) 专享 尊重版权 2 译 者 序 正因了解本书对软件行业的重大意义,在其出版之前,我就向作者之一Jez Humble 提出,希望将这本书引入中国。也正因如此,在此书英文版出版后的短短一年内,中 文版就能与国内读者见面。同时,也感谢图灵教育以专业的态度,制订了完善的出版 计划,本书才得以尽早出版。 此外,谨以此书献给我的妻子兆霞和儿子皓天。他们的支持和鼓励让我在过去的 十个月中,利用业余时间顺利地完成了这数百页的翻译工作。 昨日获悉,本书获得了2011年Jolt图书大奖,这足以证明它值得一读。希望读完之 后,你也和我一样有所收获,并把它介绍给更多还在痛苦中艰难前行的软件从业者。 乔 梁 于2011年8月 马丁·福勒序 20世纪90年代末期,我拜访了Kent Beck,当时他正在瑞士的一家保险公司工作。 他向我介绍了他的项目,他的团队有高度的自律性,而一个很有趣的事情是每晚他们 都将软件部署到生产环境中。这种具有规律性的部署带给他们很多好处,已写好的软 件不必在部署之前无谓地等待,他们对问题和机会反应迅速,周转期很短使他们与其 业务客户以及最终用户三方之间建立了更深层次的关系。 在过去10年里,我一直在ThoughtWorks工作。我们所做的项目有一个共同的主题, 那就是缩短从想法到可用软件之间的生产周期。我看到过很多项目案例,几乎所有项 目都在设法缩短周期。尽管我们通常不会每天发布,但现在每两周发布一次却是很常 见的。 David与Jez就身处这场
持续交付:发布可靠软件的系统方法
计算机 >
软件工程 >
持续交付 >
文档预览
390 页
0 下载
509 浏览
0 评论
0 收藏
3.0分
温馨提示:如果当前文档出现乱码或未能正常浏览,请先下载原文档进行浏览。
本文档由 user 于 2021-02-28 13:58:39上传分享