《持续集成 软件质量改进和风险降低之道》
所有对持续集成主题感兴趣的人都应该看看这本书,但是快速浏览一遍就行了,毕竟这个主题是一个实践性很强的主题,所以浏览一下,知道持续集成的重要性就可以了。下一步就是赶快着手实施它,而实施过程中的问题这本书是不会给你解答的,只有自己阅读文档解决。
我认为整本书最重要的就是这个它的资源列表了,列在了后面供参考
一. 箴言集合
当一个项目经理或一名开发者说已经完成了80%的任务,您必须保持审慎的态度。因为剩下的20%可能还需要80%的时间,甚至永远都不能完成。——译者序
第二章 引入持续集成
假定是所有麻烦之母——Wethern's Law of Suspended Judgment
减少假定:持续集成在每次版本控制系统发生变更时就执行构建,这有助于减少项目中的假定。
CI之路——I Build So Consistently. Identify确定, Build构建, Share分享, Continuous持续
CI准则
1.经常提交代码
2.不要提交无法构建的代码
3.立即修复无法集成的构建
4.编写自动化的开发测试
5.必须通过所有的测试和审查
6.执行私有构建
7.避免迁出无法构建的代码
第三章 利用CI减少风险
品质意味着在没人看的时候也把事情做对——Henry Ford
第五章 持续数据库集成
你是否曾感觉到在项目的开发过程中,源代码和数据库就像在不同的“星系”中开发?:)
要使用本地数据库沙盒,使用的免费数据库做测试使用
第六章 持续测试
实践造就完美——英语格言
re.li.a.ble——形容词:在连续的实验中给出同样的结果
第七章 持续审查
谁能用别人的大脑来完成他的工作,他就了不起——Donn Piatt
审查的目的是在引入缺陷之前就发现缺陷。
通过持续执行审查,可以减少发现缺陷和后续修复之间的时间。
第九章 持续反馈
作为一项通用规则,在生活中最成功的人就是拥有最好信息的人——Benjamin Disraeli (1804-1881)
持续反馈与CI
在正确的时间,以正确的方式,将正确的信息发送给正确的人——CI是让这种反馈信息自动化、目标化和实时化(持续化)的最好工具。
持续集成的核心——是减少缺陷引入、发现和修复之间的时间间隔
二. 资源
A1 Web站点,文章
IBM Developerworks 让开发自动化系列专栏 很多优秀的文章
http://www.ibm.com/developerworks/cn/java/j-ap/
书籍网站 http://www.integratebutton.com/
Martin Fowler的文章
http://martinfowler.com/articles/continuousIntegration.html
其他文章
http://www.stickyminds.com/BetterSoftware/magazine.asp?fn=cifea&id=58
http://www.stevemcconnell.com/ieeesoftware/bp04.htm
http://integratebutton.typepad.com/
http://en.wikipedia.org/wiki/Fagan_inspection
推荐书籍
Software Configuration Management Patterns,by Breczuk Appleton
Refactoring Databases—— Ambler等人
Code Smell
http://en.wikipedia.org/wiki/Code_smell
http://c2.com/xp/CodeSmell.html
http://hi.baidu.com/diboo19/blog/item/1cdfb789ff5ec7b70f244443.html
Coding standard
http://www.xp123.com/xplor/xp0002f/codingstd.gif
Evolutionary Database Design
http://martinfowler.com/articles/evodb.html
A2 CI 工具
比较表 http://confluence.public.thoughtworks.org/display/CC/CI+Feature+Matrix
作者重点介绍了AnthillPro Continuum CruiseControl LuntBuild Pulse Gauntlet Darco.NET
分布式集成构建 BuildForge ParaBuild
A5 数据库
HSQLDB Mckoi MySQL PostgreSQL
A6 测试资源
单元测试 JUnit TestNG
Agitator 针对java代码自动生成测试用例
自动化系统和功能测试 DbUnit Selenium Abbot Fit FitNesse
Web测试 Floyd HtmlUnit JWebUnit Selenium Watir
A7自动化审查资源
Java 编码标准检查 Checkstyle
审查工具
代码覆盖率 Clover Cobertura EMMA NCover for .Net
使用JDepend、NDepend进行依赖分析,维持架构
使用PMD's CPD或redhill consulting的Simian检查重复的代码,这是更详细的审查工具列表FindBugs,
JavaNCSS, JDepend, PMD, Simian, SourceMonitor;和在.Net平台下FxCop, NDepend
A 8 部署
Ant+cargo, Capistrano for RoR
A9 反馈
反馈形式 email、短信息、Ambient Orb、X10设备、Windows任务条、声音、宽屏显示、浏览器插件、即时消息[Jabber for gtalk, Pidgin etc]、RSS等
邮件服务器 http://james.apache.org/
分享到:
相关推荐
根据提供的文件信息,“读书笔记.doc”这一文档主要围绕“系统集成项目管理工程师”这一主题进行展开。虽然实际的内容部分仅包含了一些图片标记,并没有提供具体文字内容,但是我们可以基于标题和描述来推断并总结出...
### 精益管理读书笔记知识点总结 #### 第八章:采用精益工程实践 ##### 8.1 持续交付基础 - **定义**:持续交付是一种软件开发实践,目的是确保软件产品可以在任何时间点发布到生产环境中,且不会出现重大错误。这...
下面将详细解读这个领域的核心知识点,并基于"代码质量-读书笔记"的内容展开讨论。 首先,我们要理解什么是代码质量。代码质量不仅仅关乎代码的正确性,更包括其可读性、可维护性、可扩展性等多个方面。良好的代码...
标题中的“读书笔记程序源代码android elipse”指的是一个基于Android平台开发的读书笔记应用程序的源代码,这个程序可能用于用户记录、整理和管理他们在阅读过程中的笔记。它使用了Eclipse IDE(集成开发环境)进行...
九、持续集成与持续部署(CI/CD) CI/CD是微服务治理的重要组成部分,通过Jenkins、GitLab CI/CD等工具自动化构建、测试和部署流程,确保快速迭代和高质量交付。 十、服务网格 服务网格如Istio和Linkerd,是专门处理...
### 《微服务设计》读书笔记关键知识点梳理 #### 一、微服务的概念 - **定义**:微服务架构是一种将应用程序分解为一系列小型、独立的服务的方法,这些服务能够独立部署、扩展,并通过轻量级通信机制(如HTTP/REST...
《数字化转型方法论》读书笔记是对企业如何适应和利用数字技术进行根本性变革的深入探讨。这份笔记涵盖了从战略规划到执行落地的全过程,旨在帮助企业和组织在快速变化的数字时代找到自己的道路。 首先,数字化转型...
《神经网络读书笔记》 神经网络是现代计算机科学中的重要组成部分,它模仿生物神经系统的结构和功能,以解决复杂的问题。神经网络的基础在于其由大量简单的处理单元——神经元构成,形成大规模并行分布式处理器。...
"《物联网工程规划技术》读书笔记模板" 《物联网工程规划技术》是指在物联网工程项目中,如何进行规划设计、功能模块设计、项目测试与总结的技术。该技术包括物联网工程规划设计、物联网工程功能模块设计、物联网...
总结来说,数字频率计是利用数字技术对周期性信号频率进行精确测量的工具,它的设计涉及了信号处理、定时、计数和显示等多个方面,随着电子技术的不断发展,其精度和功能将持续增强,为科研和工业应用提供强大的支持...
本书的读书笔记涵盖了项目管理的基础知识、项目生命期及其与产品生命期的关系,以及项目干系人的概念和角色。 首先,项目的核心概念被定义为一次性、临时性的努力,目的是提供独特的产出,如产品、服务或成果。资源...
3. **持续集成与持续部署(CI/CD)**:为了确保快速反馈和频繁交付,CI/CD是必不可少的实践。它自动化了构建、测试和部署的过程,减少了错误和延误。 4. **迭代开发**:敏捷项目通常分为多个短周期的迭代,每个迭代...
《信息系统项目管理师》教材读书笔记详述了项目管理和信息系统项目的相关知识,涵盖了项目的基本概念、项目与运营的区别、项目目标、信息系统集成项目的特点、项目生命周期及其与产品生命周期的关系,以及项目干系人...
### Maven in Action 读书笔记知识点概述 #### 1. Maven简介 - **Maven作为构建工具的优势**:Maven的设计理念在于最小化构建过程中的重复性工作,它通过抽象出通用的构建生命周期,并为常见的构建任务提供现成的...
《Kubernetes权威指南第五版》读书笔记深入解析 Kubernetes(简称k8s)是一种开源的容器集群管理系统,旨在自动化容器的部署、扩展和管理。它通过将应用程序封装在容器中,提供了跨主机集群的分布式运行环境。k8s由...
### PLM学习笔记 #### 一、产品全生命周期管理(PLM)概述 产品全生命周期管理(Product Lifecycle Management,简称PLM),是一种旨在管理产品从最初的概念形成到最终的报废处理这一完整周期的信息与过程的方法论...
此外,书中还涉及了自动化测试的话题,特别是在回归测试和持续集成中的应用。自动化测试工具的选取、脚本编写、维护和优化都是提高效率和减少重复劳动的关键。 关于缺陷管理,Ron Patton详细讲解了缺陷报告、跟踪和...
4. **自动化工具**:Maven、Gradle的构建流程,Jenkins的持续集成。 八、项目经验与软技能 1. **项目管理**:理解敏捷开发、Scrum、Kanban等方法论。 2. **问题解决**:展示良好的分析和解决问题的能力,以及团队...